我想在 Anaconda 的 Spyder 中使用 arcpy。我有完整的 ArcGIS 许可,所以这不是问题。我可以通过将 arcpy 文件夹从 C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy 复制到 C:\Anaconda\Lib\site-packages 来半导入模块,但是导入从未完成,因为我收到“ImportError:没有名为 arcgisscripting 的模块”的错误。arcpy 有什么方法可以在 Spyder 中工作吗?
3 回答
这是你需要做的:
在 ArcGIS 中打开 Python 窗口,如此处所述
在那里运行这两个命令:
import sys
sys.executable
复制最后一个命令的输出
打开 Spyder 并转到
Tools > Preferences > Python interpreter
选择选项
Use the following Python interpreter
并将步骤 3 的结果粘贴到那里。
最后去
Consoles > Open an IPython console
。这将打开一个新控制台,该控制台将运行与 ArcGIS 相同但在Spyder 中的 Python 版本。因此,您可以在那里运行任何可以在 ArcGIS Python 窗口中运行的命令。
注意ipykernel
:如果 ArcGIS 附带的 Python 没有该包,这可能不起作用。
为了解决这个问题,浏览到 python27\Lib\site-packages 文件夹,我的文件夹位于“C:\Python27\ArcGIS10.1\Lib\site-packages”下,然后找到文件 Desktop10.1.pth。
在我的系统上,只需将 Desktop10.1.pth 文件复制到“C:\AppData\Local\Continuum\Anaconda\Lib\site-packages”即可解决问题。
如果您正在运行 Anaconda 64 位,则在尝试导入 arcpy 时会出现不同的错误,因为 ArcGIS 运行 32 位。因此,您必须确保安装了 Anaconda 32 位而不是 64 位,以便与 ArcGIS 相匹配。复制文件并且您拥有 Anaconda 32 位后,导入 arcpy 应该可以工作。
唯一对我有用的是:我刚刚从“C:\Program Flies(x86)\ArcGIS\Desktop10.3”复制了arcpy文件夹并将其粘贴到我的“~Anaconda3\Lib\site-packages”中。现在我可以将 arcpy 导入 Anaconda3 的 spyder 中。