本人研究了一晚上,终于成功地搭建好了环境,实现了用python的集成开发环境调用ArcGIS的功能,也就是Arcpy工具包,在参考了多个前人发的帖子后发现都不行,最后还是会出现【import arcgisscripting,DLL load failed: %1 不是有效的 Win32 应用程序。】的错误,经查找资料,将前人的操作流程做简单修改,最后成功地在本人的计算机上实现环境的搭建。下面是操作流程:【若追求快捷,第2、3、5、6步可以直接运行代码框中的代码,文本部分可以不看】
1.以管理员身份打开Anaconda Power Shell
(本人习惯以管理员身份打开,并不确定管理员身份是否会对本工作流程产生影响)
2.切换到32位环境**
$Env:CONDA_FORCE_32BIT=1
这步最坑爹!我相信很多人都跟我一样栽在了这一步,还没发现问题出在哪,因为网上很多教程都告诉我们要用“set CONDA_FORCE_32BIT=1”语句来切换到32位环境,实际上运行完该语句后,我用“conda info”检查操作系统的位数时,发现还是64位。导致后续步骤即使做的都对,最后还是会出错。
而用本教程的语句“$Env:CONDA_FORCE_32BIT=1” 切换到32位环境就会成功。
3.创建python=2.7的虚拟环境
conda create -n py27 python=2.7
这里“py27”是新建的虚拟环境的名字。
4.将ArcGIS的Desktop10.8.pth文件拷贝到新创建的虚拟环境中
不同电脑可能涉及的文件路径不同。本人的电脑是将“D:\Python27\ArcGIS10.8\Lib\site-packages”中的“Desktop10.8.pth”文件复制到路径“C:\ProgramData\Anaconda3\envs\py27\Lib\site-packages”中。
5.在新建的虚拟环境中安装spyder、numpy、matplotlib
conda activate py27
conda install spyder==3.3.0
conda install numpy
conda install matplotlib
陆续输入以上4行代码,第一行代码是为了进入新建的虚拟环境中,后3行是陆续安装spyder、numpy、matplotlib。【貌似spyder4不支持低版本的python,所以谨慎起见,还是安装spyder3】
6.使计算机环境重新回到64位
conda activate base
$Env:CONDA_FORCE_32BIT=0
第一行代码是回到base环境,第二行代码是回到64位
7.打开spyder并“import arcpy”
开始使用!