之前将本教程发布在了百度经验上: https://jingyan.baidu.com/article/3f16e00315f7a52591c103f0.html,但百度经验不支持markdown,代码看起来很费劲。所以蹭着刚重装系统,重新又写个教程。但在操作过程中发现以前的方法中有些问题,在此做了一些补充与更新。
首先,spyder要使用arcpy,要保证spyder的Python环境与arcpy的一致。ArcGIS10.1及以上都是使用的Python2.7 32 bit。所以需要spyder中的Python也是对应的版本。我们现在一般都是使用的python2/3的 64bit 版本,所以一般都需要进行配置一下。
在ArcGIS中打开Python编辑器,然后输入以下命令查看
import syssys.version
如图,ArcGIS10.6自带的Python为2.7.14 32 bit
1. 确认anaconda的Python版本。
打开spyder,右侧下方的控制器会显示当前spyder中Python的版本。
如果所使用的anaconda的Python版本为Python2 32bit,则直接进行 即可。
anaconda可以从官网下载,但服务器在国外,速度可能要慢一点。所以推荐从国内的镜像站下载。
anaconda官方下载地址:https://www.anaconda.com/download/
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
2. 进行配置
在anaconda
中找到Anaconda Prompt
,单击右键,更多
→以管理员身份运行
,以管理员身份打开Anaconda Prompt
接着更改环境为32 bit
。在命令行中输入:
set CONDA_FORCE_32BIT=1 # 更改环境为32 bit # 如需要改回64位环境使用:set CONDA_FORCE_32BIT=conda info # 查看当前环境
首先创建一个Python2.7的环境:
conda create -n env_name python=2.7 # 注意:env_name为自定义的环境名称,随便命名,比如Python2、PythonArcpy等
如果是老版本的ArcGIS,自带的Python版本号可能小于2.7,将Python版本号改为对应的版本即可
安装时会询问是否显示安装过程,输入y,然后按回车键。
确定安装成功后,激活新的python环境,并安装适用于新环境的spyder:
activate env_name # 注意:env_name是刚才自己自定义的环境名称conda install spyder -y # 安装新环境的spyder
新的环境许多第三方包都没有,如果需要,可以在anaconda navigator中安装,或者在此环境下执行:
conda install package -y # 注意,package为所需要的包名,比如 pandas 等
安装成功后,打开新的spyder(会有两个spyder,以环境名为后缀的spyder才可以导入arcpy)
如果安装的anaconda就是python2 32bit的,直接打开默认的spyder即可
每次在导入arcpy之前,先执行下面的代码即可
import sysarcpy_path = [r'C:\Python27\ArcGIS10.6\Lib\site-packages', r'C:\Program Files (x86)\ArcGIS\Desktop10.6\arcpy', r'C:\Program Files (x86)\ArcGIS\Desktop10.6\bin', r'C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcToolbox\Scripts']sys.path.extend(arcpy_path)
如果安装路径不同,需要选择对应的路径替换上述路径。
在之前的教程中,我会建议将以上路径直接添加到PYTHONPATH Manager
中。但发现如果现在还这样做,新的anaconda版本下,会导致anaconda的所有软件都无法使用。所以现在不建议这样做。
针对已经无法打开的用户,只需进行如下操作即可:
在桌面的此电脑
上右键,选择属性
(或者在控制面板中找到: 控制面板\系统和安全\系统
),点击高级系统设置
在系统属性中的高级选项中,点击环境变量,打开环境变量界面,在环境变量中选中PYTHONPATH项,点击删除后确定即可。重新启动即可打开。
重新打开新建的spyder,将PYTHONPATH Manager
中的路径选中,点击下方的remove path
。将所有的路径删除后,点击close
关闭即可。
联系客服