撰寫日期:2020年1月6日
注意:隨著時間推移伊磺,該博文可能不再適用,請仔細檢查自己的版本與博文版本的對應關系浊仆,不能保證三五年后记焊,該博文仍然對新版本的ArcGIS 和Anaconda(Miniconda)仍然有效!
一瘦穆、系統環(huán)境
- Windows 10 企業(yè)版 1903 64bit
- ArcGIS Desktop 10.2.2
- Miniconda2-4.7.12-Windows-x86.exe
Miniconda 是一個 Anaconda 的輕量級替代纪隙,默認只包含了 python 和 conda,但是可以通過 pip 和 conda 來安裝所需要的包扛或。
下載地址绵咱,請移步清華大學的鏡像源:https://mirrors.tuna.tsinghua.edu.cn/# , 點擊右側的【獲取下載鏈接】熙兔,下載Miniconda
或者到這里下載:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
二悲伶、安裝Miniconda并添加清華源
2.1 安裝ArcGIS Desktop 10.2.2
這個是常規(guī)安裝,不知道怎么安裝請百度住涉。
ArcGIS 10.2.2自帶Python 2.7.5麸锉,安裝時,會將Python安裝在C:\Python27\ArcGIS10.2
目錄下舆声,如下圖所示:
2.2 安裝Miniconda
安裝Miniconda的過程比較簡單花沉,但是有三點需要注意:
(1)我將Miniconda安裝到C:\Python27
目錄下,因為ArcGIS 10.2自帶的python也是放在這里媳握。兩個放到一起碱屁,方便有問題時查找。
(2)安裝對話框彈出時毙芜,請選擇“所有用戶”(All Users)
(3)由于ArcGIS本身自帶Python 2.7忽媒,因此在安裝Anaconda時,不要安裝新的Python腋粥。所以晦雨,在安裝對話框里,去掉下面這兩個選項前的勾:
- add Anaconda’s Python to the PATH
- make Anaconda the default Python
2.3 添加清華源
Anaconda安裝包時隘冲,默認的源服務器在國外闹瞧,下載速度相當慢。因此展辞,我們添加國內的清華源奥邮。
【開始】->【Anaconda Prompt (Miniconda2)】,以管理員打開Anaconda Prompt (以后每次都以管理員身份打開),在命令行窗口中輸入如下三行代碼:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
這樣洽腺,就添加了清華大學的conda源了脚粟。
三、ArcGIS與Anaconda集成
3.1 Anaconda中創(chuàng)建新的python環(huán)境
(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)創(chuàng)建虛擬python環(huán)境
先將Anaconda的環(huán)境置為32bit (因為ArcGIS Desktop默認用的是32位的Python)吐根,然后再創(chuàng)建環(huán)境。
在Anaconda Prompt窗口(右鍵以管理員身份運行)中辐马,輸入以下命令行拷橘,創(chuàng)建目錄以準備自動下載和安裝各種第三方包:
set CONDA_FORCE_32BIT=1
conda create -n arc1022 python=2.7.5 numpy=1.7.1 matplotlib=1.3.0
這樣就創(chuàng)建好了新的Python環(huán)境,其名稱為arc1022齐疙。
當然膜楷,如果你暫時不想安裝第三方包,可以只用輸入:
conda create -n arc1022
默認的Python環(huán)境為base贞奋,要激活剛創(chuàng)建的arc1022虛擬環(huán)境赌厅,請輸入conda activate arc1022
然后,就可以在arc1022環(huán)境中使用conda安裝各種包了轿塔。例如:
conda install scipy
conda install pandas
3.2 將Anaconda里的第三方包集成到ArcGIS
這里所謂的集成特愿,其實只是讓ArcGIS自帶的Python知道本機的哪個目錄里還有合適第三方包。
上面的Miniconda是安裝在C:\Python27\Miniconda2這個目錄勾缭,并且用conda create命令創(chuàng)建的目錄是arc1022揍障,則所有用conda install xxx 新安裝的第三方包都在下面這個目錄里:
C:\Python27\Miniconda2\envs\arc1022\Lib\site-packages
下面把該目錄告訴ArcGIS 10.2.2自帶的Python 2.7.5,以便它能import該目錄下的第三方包俩由。
(1)創(chuàng)建一個后綴名為pth的文件毒嫡,例如:findArc1022inMiniconda.pth,該文件里只需要一行文本:
C:\Python27\Miniconda2\envs\arc1022\Lib\site-packages
這樣幻梯,arcgis就知道到arc1022環(huán)境所在的目錄下去找第三方包了兜畸。
(2)將這個pth文件拷貝到ArcGIS自帶Python的第三方包存放目錄中,這個目錄是:
C:\Python27\ArcGIS10.2\Lib\site-packages
3.3 測試集成是否成功
打開ArcGIS Desktop 10.2.2碘梢,【Geoprocessing】-->【Python】咬摇,輸入如下代碼:
import pandas
print(pandas.__version__)
如果前面用conda命令安裝了pandas,那么這兩行代碼不會報錯煞躬,證明arcgis和anaconda集成成功肛鹏。