我创建了一个小模块(相对流行),该模块可以在PC上搜索ArcGIS。找到后,它将为环境添加正确的路径,以便您可以导入arcpy。用法如下:
try:importarchook#The module which locates arcgisarchook.get_arcpy()importarcpyexceptImportError:# do whatever you do if arcpy isnt there.
它非常简单,而且我敢肯定它可以变得更强大,但确实可以做到。它在pypi上可用:pip install archook
与更“手动”的原始方法(详细信息如下)相比,它具有一些优点:
您不需要分别配置每个python环境...只需导入模块即可
它不会编辑/创建任何注册表项或永久环境变量,因此没有任何混乱现有的python / arcgis配置的机会。
您无需了解各种文件夹/文件的路径,甚至无需了解已安装的Arcgis版本。该模块将为您找到所有内容。
无需管理员身份验证
它不是特定于anaconda的-它可以与任何python安装一起使用
我在下面留下了原始答案,但是此解决方案(IMO)更好100%。
2014年答案
好的,因此此答案适用于Windows 7 / Windows Server上具有ArcGIS 10.1 64bit的Anaconda 64位Python发行版。以下给出的一些(或全部)技巧可能适用于python的任何其他Windows发行版。首先,安装anaconda,它应该转到目录C:\ Anaconda。选中“将系统设为默认python”框。它可能会警告您安装了另一个python,但请继续。然后:
设置路径和环境变量
首先要做的是从C:\ Python27 \ ArcGISx6410.1 \ Lib \ site-packages将DTBGGP64.pth文件复制到新的分发目录(C:\ Anaconda)。命名是任意的,但必须具有.pth扩展名。这将允许您在使用新发行版时导入ArcPy。
注意:DTBGGP64.pth文件的正确位置应该在site-packages目录中(例如C:\ Anaconda \ Libs \ site-packages)。我发现对于某些较旧版本的Anaconda,如果位于顶层目录中
,则可以使用。接下来,必须检查环境变量:在系统变量Path中,则python目录的现有路径应替换为新路径。(例如C:\ Anaconda; C:\ Anaconda \ Scripts;)这将告诉Windows默认python目录在哪里。确保用户变量PYTHONPATH也正确。这应该指向您希望使用的任何库,这些库未由.pth文件描述或未安装在site-packages中。IE可能是您自己的开发包,也可能是Mapnik等安装位置不同的软件包。
检查注册表设置
在某些计算机上,上述内容可能足以确保您可以使用新python中的arcpy,并且可以在ArcGIS中使用python。在其他计算机上,您可能需要检查注册表项。以下注册表项具有python设置:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
应该有一个密钥,其值应为C:\ Anaconda \ Lib; C:\ Anaconda \ DLLs
(或python安装的相应文件夹)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
密钥应为C:\ Anaconda
您可能安装了其他python版本...在这种情况下,请更改上述路径中的版本号
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
这是用于.pyc文件的.ico文件的位置
HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \ command
这是从shell打开.pyc文件时要发出的命令。您应该将python.exe路径更改为所需python版本的位置
HKEY_CLASSES_ROOT \ Python.File
此处的键与Python.CompiledFile的键相同,只不过它们适用于.py文件。再次,进行相关更改。它可能具有用于“使用IDLE编辑”或“使用Pythonwin编辑”的额外密钥。再次,进行相关更改,以使这些键中的路径指向所需的python版本。
HKEY_CLASSES_ROOT \ Python.NoConFile
这些与Python.File相同,但应pythonw.exe在适当的地方指向该程序。
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1
的PythonDir关键点蟒蛇安装在ArcMap等使用。你可能希望通过ESRI作为安装此作为矢志不渝的Python安装,或将其指向新安装。如果将ArcMap指向新的python安装,则可能需要进行其他更改。有可能是与包通过新的分销安装的版本(如numpy的)问题。我还没有遇到。
在我的大部分工作中,这是无关紧要的,因为我通常想自己使用python,偶尔也可以访问arcpy。我很少希望在arcmap中使用python。因此,我没有对最后一步做任何测试,但对于到目前为止我尝试过的一切似乎都可以使用。
我认为安装Python(x,y)等的过程将是相似的。
其他注意事项
.pth文件的内容是指向ArcGIS安装中以下文件夹的路径的列表:bin64,arcpy,ArcToolbox \ Scripts例如,我的.pth文件包含以下内容:
C:\ProgramFiles(x86)\ArcGIS\Desktop10.2\bin64
C:\ProgramFiles(x86)\ArcGIS\Desktop10.2\arcpy
C:\ProgramFiles(x86)\ArcGIS\Desktop10.2\ArcToolbox\Scripts