USGS EGIS web pages
EGIS Home
EGIS Support
Metadata
Training
Email Lists
Esri Events
External web pages
Esri Support
Esri Product Help
Esri GeoNet
GIS Stack Exchange
EGIS wiki space (here)
Table of Contents | ||||
---|---|---|---|---|
|
Anaconda is an open-source Python distribution that makes is possible to easily install and manage many pre-packaged third party Python modules.
...
The general workflow to make this happen is to:
The main distribution is pretty large. MiniConda downloads what you need to do to start. Choose the Miniconda that matches the main software you want to integrate with. (You can install both if you want.)
...
At this point, you have a nice Anaconda Python setup (~ 225 MB) that's spiffy and new and totally useless with ArcMap.
The Department of Interior is now requiring SSL encryption. This means you cannot download Anaconda packages without an SSL certificate in place.
...
Code Block | ||
---|---|---|
| ||
mkdir %USERPROFILE%\.certificates copy %USERPROFILE%\Downloads\DOIRootCA.crt %USERPROFILE%\.certificates conda config --set ssl_verify %USERPROFILE%\.certificates\DOIRootCA.crt |
The following workflow will demonstrate how set up a custom Python environment within Anaconda that has the same modules installed as ArcGIS Python, and then add a compatible version of Spyder and Jupyter.
The following example is for ArcGIS 10.4.1, assuming you have successfully installed MiniConda 2 32-bit (as above).
The critical modules for ArcGIS compatibility can be determined from your Desktop or Pro Python command line.
...
Code Block | ||
---|---|---|
| ||
# pyversions.py - report critical python stack for use with ArcGIS # example output: # ArcGIS install folder: C:\ArcGIS\Desktop10.4 # sys.executable: C:\Python27\ArcGISx6410.4\pythonw.exe # matplotlib: 1.4.3 # numpy: 1.9.2 # scipy: 0.15.1 import sys import os ff = "{}: {}" try: print("ArcGIS install folder: {}".format(os.environ["AGSDESKTOPJAVA"][:-1])) print(ff.format("sys.executable", sys.executable)) import matplotlib print(ff.format("matplotlib", matplotlib.__version__)) import numpy print(ff.format("numpy", numpy.__version__)) import scipy print(ff.format("scipy", scipy.__version__)) except: pass |
We'll also include a few other modules that we know are shipped in the ArcGIS Python stack.
...
Open an Anaconda command window and load the virtual environment.
...
Code Block | ||
---|---|---|
| ||
C:\Users\cprice> conda info --envs # conda environments: # arc1041 D:\Users\cprice\Miniconda2\envs\arc1041 root * D:\Users\cprice\Miniconda2 D:\Users\cprice>activate arc1041 Activating environment "arc1041"... [arc1022] D:\Users\cprice> conda list # packages in environment at D:\Users\cprice\Miniconda2\envs\arc1041: # dateutil 2.4.1 py27_0 matplotlib 1.3.0 np17py27_0 numpy 1.7.1 py27_3 ... |
You can add more packages using conda install, but make sure you specify version numbers for these that won't change the Python modules required to stay compatible with ArcGIS's Python stack.
...
http://deparkes.co.uk/2015/01/29/install-shapely-on-anaconda/
This can most easily be done (personal opinion) with a Python usercustomize.py startup script
...
python -m site --user-site
C:\Users\username\AppData\Roaming\Python\Python27\site-packages (ArcGIS Desktop)
C:\Users\username\AppData\Roaming\Python\Python34\site-packages (ArcGIS Pro, Python35 for Pro 2.0)
ArcGIS
print ("\n".join(sys.path)) -- you should see the Anaconda site-packages near the end of the list
...
activate arc1041 (or whichever environment in the list)
import arcpy
print ("\n".join(sys.path)) -- you should see the ArcGIS site-packages near the end of the list
http://www.continuum.io/blog/conda
...