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
查看ArcGIS中Python的版本

2. 配置需要的环境

1. 确认anaconda的Python版本。

打开spyder,右侧下方的控制器会显示当前spyder中Python的版本。
查看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

以管理员身份打开AnacondaPrompt

接着更改环境为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版本

确定安装成功后,激活新的python环境,并安装适用于新环境的spyder:

activate env_name 			# 注意:env_name是刚才自己自定义的环境名称
conda install spyder -y 		# 安装新环境的spyder

安装spyder

新的环境许多第三方包都没有,如果需要,可以在anaconda navigator中安装,或者在此环境下执行:

conda install package -y			# 注意,package为所需要的包名,比如 pandas 等

4. 将ArcGIS相关路径加入到Python路径中

安装成功后,打开新的spyder(会有两个spyder,以环境名为后缀的spyder才可以导入arcpy)

如果安装的anaconda就是python2 32bit的,直接打开默认的spyder即可

打开对应的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)

如果安装路径不同,需要选择对应的路径替换上述路径。

导入arcpy界面

5. 问题解决

在之前的教程中,我会建议将以上路径直接添加到PYTHONPATH Manager中。但发现如果现在还这样做,新的anaconda版本下,会导致anaconda的所有软件都无法使用。所以现在不建议这样做。

之前教程PYTHONPATH manager加入对应的路径

针对已经无法打开的用户,只需进行如下操作即可:

在桌面的此电脑上右键,选择属性(或者在控制面板中找到: 控制面板\系统和安全\系统),点击高级系统设置

打开高级设置

在系统属性中的高级选项中,点击环境变量,打开环境变量界面,在环境变量中选中PYTHONPATH项,点击删除后确定即可。重新启动即可打开。

在这里插入图片描述

重新打开新建的spyder,将PYTHONPATH Manager中的路径选中,点击下方的remove path。将所有的路径删除后,点击close关闭即可。
清除Python路径后

转载自:https://blog.csdn.net/qq_27386899/article/details/84761665

You may also like...