『Arcpy』 ArcGIS中利用Anaconda集成scipy和pandas

利用Anaconda创建虚拟环境,将Anaconda里的第三方包集成到ArcGIS。

一、Anaconda安装与配置

这里是之前安装好的,Anaconda3,原博主安装的是Miniconda,效果都是一样的。

Miniconda安装参考:https://www.jianshu.com/p/f3d58072c85d

二、ArcGIS与Anaconda集成

这步是主要参考的内容

Anaconda中创建新的python环境

(1)确定ArcGIS自带的Python版本

先明确ArcGIS里的python,numpy和matplotlib分别是什么版本。具体步骤为:
打开ArcGIS Desktop 10.2.2,【Geoprocessing】–>【Python】,输入如下代码:

import sys, numpy, matplotlib
print(sys.version, numpy.__version__, matplotlib.__version__)

可以看到,ArcGIS Desktop 10.2.2中得到的结果如下:

('2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)]', '1.7.1', '1.3.0')

也就是Python 2.7.5, numpy 1.7.1,matplotlib 1.3.0
(2)创建虚拟python环境
先将Anaconda的环境置为32bit (因为ArcGIS Desktop默认用的是32位的Python),然后再创建环境。
在Anaconda Prompt窗口(右键以管理员身份运行)中,输入以下命令行,创建目录以准备自动下载和安装各种第三方包:

set CONDA_FORCE_32BIT=1
conda create -n arc1022 python=2.7.5 numpy=1.7.1 matplotlib=1.3.0

这样就创建好了新的Python环境,其名称为arc1022

当然,如果你暂时不想安装第三方包,可以只用输入:

conda create -n arc1022

默认的Python环境为base,要激活刚创建的arc1022虚拟环境,请输入conda activate arc1022
然后,就可以在arc1022环境中使用conda安装各种包了。例如:

conda install scipy
conda install pandas

将Anaconda里的第三方包集成到ArcGIS

里所谓的集成,其实只是让ArcGIS自带的Python知道本机的哪个目录里还有合适第三方包

上面的Miniconda是安装在C:\Python27\Miniconda2这个目录,并且用conda create命令创建的目录是arc1022,则所有用conda install xxx 新安装的第三方包都在下面这个目录里:

 C:\Python27\Miniconda2\envs\arc1022\Lib\site-packages

下面把该目录告诉ArcGIS 10.2.2自带的Python 2.7.5,以便它能import该目录下的第三方包。

  1. 创建一个后缀名为pth的文件,例如:findArc1022inMiniconda.pth,该文件里只需要一行文本:

     C:\Python27\Miniconda2\envs\arc1022\Lib\site-packages

    这样,arcgis就知道到arc1022环境所在的目录下去找第三方包了。

  2. 将这个pth文件拷贝到ArcGIS自带Python的第三方包存放目录中,这个目录是:

    C:\Python27\ArcGIS10.2\Lib\site-packages

参考

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2019-2021 HG | 访问人数: | 浏览次数:

请我喝瓶农夫三拳吧~

支付宝
微信