Spyder中如何导入并使用arcpy
目录
Spyder中如何导入并使用arcpy
相信不少地理工作者都会使用arcpy来批量处理一些文件,同时也会使用anaconda做一些科学运算。但当使用arcpy时,只能使用ArcGIS自带的IDE。但ArcGIS自带的IDE使用起来非常不友好。想使用Spyder时,却发现无法导入arcpy。下面将会将刚折腾出来的spyder中使用arcpy教程分享给大家,解决这个让人困惑已久的问题。
之前将本教程发布在了百度经验上: https://jingyan.baidu.com/article/3f16e00315f7a52591c103f0.html,但百度经验不支持markdown,代码看起来很费劲。所以蹭着刚重装系统,重新又写个教程。但在操作过程中发现以前的方法中有些问题,在此做了一些补充与更新。
首先,spyder要使用arcpy,要保证spyder的Python环境与arcpy的一致。ArcGIS10.1及以上都是使用的Python2.7 32 bit。所以需要spyder中的Python也是对应的版本。我们现在一般都是使用的python2/3的 64bit 版本,所以一般都需要进行配置一下。
1. 查看ArcGIS自带Python的版本:
在ArcGIS中打开Python编辑器,然后输入以下命令查看
import sys
sys.version
如图,ArcGIS10.6自带的Python为2.7.14 32 bit
2. 配置需要的环境
1. 确认anaconda的Python版本。
打开spyder,右侧下方的控制器会显示当前spyder中Python的版本。
如果所使用的anaconda的Python版本为Python2 32bit,则直接进行 4. 将ArcGIS相关路径加入到Python路径中 即可。
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 # 查看当前环境
3. 安装对应的Python
首先创建一个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 等
4. 将ArcGIS相关路径加入到Python路径中
安装成功后,打开新的spyder(会有两个spyder,以环境名为后缀的spyder才可以导入arcpy)
如果安装的anaconda就是python2 32bit的,直接打开默认的spyder即可
每次在导入arcpy之前,先执行下面的代码即可
import sys
arcpy_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)
如果安装路径不同,需要选择对应的路径替换上述路径。
5. 问题解决
在之前的教程中,我会建议将以上路径直接添加到PYTHONPATH Manager
中。但发现如果现在还这样做,新的anaconda版本下,会导致anaconda的所有软件都无法使用。所以现在不建议这样做。
针对已经无法打开的用户,只需进行如下操作即可:
在桌面的此电脑
上右键,选择属性
(或者在控制面板中找到: 控制面板\系统和安全\系统
),点击高级系统设置
在系统属性中的高级选项中,点击环境变量,打开环境变量界面,在环境变量中选中PYTHONPATH项,点击删除后确定即可。重新启动即可打开。
重新打开新建的spyder,将PYTHONPATH Manager
中的路径选中,点击下方的remove path
。将所有的路径删除后,点击close
关闭即可。
转载自:https://blog.csdn.net/qq_27386899/article/details/84761665