我如何修复在 Pycharm 中使用 arcpy 时发生的错误?
How can i fix this error that occurs when I use arcpy in Pycharm?
首先声明我不是程序员。我的编程知识是偶尔在工作中使用 R 来帮助处理数据。最近我一直在尝试使用 python 来自动化几个 ArcGIS 功能。
import arcpy
arcpy.env.workspace =
r"C:\Users\lscarney\Desktop20data_ArcScripting20_HessianFly_ShapeFileCreation.gdb"
print(arcpy.env.workspace)
我一直在通过不同的教程向自己介绍 python 和 arcpy,并且我看到这段代码在这些教程中经常重复出现。然而,当我 运行 这个而不是“完成退出代码 0”时,我遇到了这个问题。
Traceback (most recent call last):
File "C:\Users\lscarney\Desktop\ArcGIS Scripts\ArcGIS_Scripts\venv\RepairDataSource.py", line 1, in <module>
import arcpy
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\__init__.py", line 22, in <module>
from arcpy.geoprocessing import gp
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\geoprocessing\__init__.py", line 14, in <module>
from _base import *
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\geoprocessing\_base.py", line 612, in <module>
env = GPEnvironments(gp)
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\geoprocessing\_base.py", line 609, in GPEnvironments
return GPEnvironment(geoprocessor)
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\geoprocessing\_base.py", line 565, in __init__
self._refresh()
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\geoprocessing\_base.py", line 567, in _refresh
envset = (set(env for env in self._gp.listEnvironments()))
RuntimeError: NotInitialized
Process finished with exit code 1
我做过的事情:
我已经尝试 运行在 arcpy 之外编写几行简单的代码(添加变量、打印变量等)并且一切正常。我已经检查了 python 解释器,它位于 arcgis 中,所以我相当确定这不是问题,特别是因为使用其他 python 解释器路径无法使用 arcpy。
如果有人能帮助我指明正确的方向,将不胜感激。我只是对 python 和 Pycharm 没有足够的经验来理解出了什么问题。谢谢
我想出了如何让它工作,但我不完全确定为什么......如果有人能提供一些说明,我将不胜感激。到那时我会尽我所能解释。
我使用的 Python 解释器是 C:\Python27\ArcGIS10.6
我认为它可以工作,因为从默认切换到它后,pycharm 开始识别 ArcPy 函数。显然那是行不通的。
在阅读本文时注意到他们在我的计算机上使用并尝试了该路径。 -- https://community.esri.com/t5/python-documents/pycharm-setup-for-arcgis-desktop/ta-p/1125129
Configure Python interpreter for ArcGIS Pro
After PyCharm launches, click the gear at the upper right corner of the screen
(or press Ctrl-Alt-S) to open the settings dialog. You can set up PyCharm with multiple
Python interpreters, and we want to make the default setup
for ArcGIS Pro (you can choose others though, which is handy!)
Select Python Interpreter at left
Click the gear icon at upper right and select Add
Select the Existing environment radio button
Click (set) Make available to all projects
For Interpreter: click the ... icon at right
and navigate to and select the python.exe for Pro:
C:\Program Files\ArcGIS\Pro\bin\Python\envs\argispro-py3\python.exe
Click OK.
什么有效 --> C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3
因此,为了使其正常工作,解释器似乎必须来自 ArcGIS 安装中的 arcgispro-py3 文件夹。我不明白这与我最初使用的路径有何不同,因为两者都无法识别 ArcPy 函数。无论如何我可以确认新路径可以毫无例外地执行代码。
首先声明我不是程序员。我的编程知识是偶尔在工作中使用 R 来帮助处理数据。最近我一直在尝试使用 python 来自动化几个 ArcGIS 功能。
import arcpy
arcpy.env.workspace =
r"C:\Users\lscarney\Desktop20data_ArcScripting20_HessianFly_ShapeFileCreation.gdb"
print(arcpy.env.workspace)
我一直在通过不同的教程向自己介绍 python 和 arcpy,并且我看到这段代码在这些教程中经常重复出现。然而,当我 运行 这个而不是“完成退出代码 0”时,我遇到了这个问题。
Traceback (most recent call last):
File "C:\Users\lscarney\Desktop\ArcGIS Scripts\ArcGIS_Scripts\venv\RepairDataSource.py", line 1, in <module>
import arcpy
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\__init__.py", line 22, in <module>
from arcpy.geoprocessing import gp
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\geoprocessing\__init__.py", line 14, in <module>
from _base import *
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\geoprocessing\_base.py", line 612, in <module>
env = GPEnvironments(gp)
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\geoprocessing\_base.py", line 609, in GPEnvironments
return GPEnvironment(geoprocessor)
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\geoprocessing\_base.py", line 565, in __init__
self._refresh()
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\geoprocessing\_base.py", line 567, in _refresh
envset = (set(env for env in self._gp.listEnvironments()))
RuntimeError: NotInitialized
Process finished with exit code 1
我做过的事情:
我已经尝试 运行在 arcpy 之外编写几行简单的代码(添加变量、打印变量等)并且一切正常。我已经检查了 python 解释器,它位于 arcgis 中,所以我相当确定这不是问题,特别是因为使用其他 python 解释器路径无法使用 arcpy。
如果有人能帮助我指明正确的方向,将不胜感激。我只是对 python 和 Pycharm 没有足够的经验来理解出了什么问题。谢谢
我想出了如何让它工作,但我不完全确定为什么......如果有人能提供一些说明,我将不胜感激。到那时我会尽我所能解释。
我使用的 Python 解释器是 C:\Python27\ArcGIS10.6
我认为它可以工作,因为从默认切换到它后,pycharm 开始识别 ArcPy 函数。显然那是行不通的。
在阅读本文时注意到他们在我的计算机上使用并尝试了该路径。 -- https://community.esri.com/t5/python-documents/pycharm-setup-for-arcgis-desktop/ta-p/1125129
Configure Python interpreter for ArcGIS Pro
After PyCharm launches, click the gear at the upper right corner of the screen
(or press Ctrl-Alt-S) to open the settings dialog. You can set up PyCharm with multiple
Python interpreters, and we want to make the default setup
for ArcGIS Pro (you can choose others though, which is handy!)
Select Python Interpreter at left
Click the gear icon at upper right and select Add
Select the Existing environment radio button
Click (set) Make available to all projects
For Interpreter: click the ... icon at right
and navigate to and select the python.exe for Pro:
C:\Program Files\ArcGIS\Pro\bin\Python\envs\argispro-py3\python.exe
Click OK.
什么有效 --> C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3
因此,为了使其正常工作,解释器似乎必须来自 ArcGIS 安装中的 arcgispro-py3 文件夹。我不明白这与我最初使用的路径有何不同,因为两者都无法识别 ArcPy 函数。无论如何我可以确认新路径可以毫无例外地执行代码。