Confluence Retirement

In an effort to consolidate USGS hosted Wikis, myUSGS’ Confluence service is scheduled for retirement on January 27th, 2023. The official USGS Wiki and collaboration space is now SharePoint. Please migrate existing spaces and content to the SharePoint platform and remove it from Confluence at your earliest convenience. If you need any additional information or have any concerns about this change, please contact myusgs@usgs.gov. Thank you for your prompt attention to this matter.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: fix typo

...

  1. Install to a folder where there is going to be plenty of space (recommend the D drive, not the C drive)
  2. IMPORTANT: To avoid breaking ArcGIS, uncheck the checkboxes  (a) make Anaconda the default Python and (b) add Anaconda's Python to the PATH. 
  3. Here are screenshots to help guide you through the install process.
  4. Windows 10: after installing, rename the shortcut Anaconda Prompt to "Anaconda Prompt 32-bit" or "64-bit"

Anaconda first run

Open the Anaconda prompt window (Search in Windows and start the shortcut "Anaconda Prompt") and enter "python" in the command window:

Code Block
languagetext
titleFirst Anaconda Session
(D:\Users\jwpowell\Miniconda2) C:\Users\jwpowell>python
Python 2.7.13 |Continuum Analytics, Inc.| (default, May 11 2017, 14:07:41) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>>

...

Code Block
languagetext
titleWindows Command Prompt
mkdir %USERPROFILE%\.certificates
copy %USERPROFILE%\Downloads\/DOIRootCA2.cer %USERPROFILE%\.certificates
conda config --set ssl_verify %USERPROFILE%\.certificates\DOIRootCA2.cer

...

Code Block
languagetext
titleWindows Command Prompt
mkdir %APPDATA%\pip
pushd %APPDATA%\pip
(echo [global] >& pip.ini
echo cert=%USERPROFILE%\.certificates\DOIRootCA2.cer) >>> %APPDATA%\pip\pip.ini
popd

3) Configure Anaconda To Work with ArcGIS

...

  1. Open the Anaconda prompt (32 or 64, depending on the ArcGIS environment you are integrating with)
  2. Create a compatible environment
    1. 32-bit 2.7 (ArcMap, ArcCatalog)
      ArcGIS 10.2.2:  conda create -n arc1022 python=2.7.5 numpy=1.7.1 matplotlib=1.3.0 pyparsing xlrd xlwt console_shortcut
      ArcGIS 10.3.1:  conda create -n arc1031 python=2.7.8 numpy=1.7.1 matplotlib=1.3.0 pyparsing xlrd xlwtxlwt console_shortcut
      ArcGIS 10.4.1: conda create -n arc1041 python=2.7.10 numpy=1.9.2 matplotlib=1.4.3 scipy=0.16.0 pandas pyparsing xlrd xlwt  console_shortcut *NOTE* Esri shipped 0.15.0, but I needed to use 0.16.0 to have conda work
      ArcGIS 10.5: conda create -n arc105 python=2.7.12 numpy=1.9.2 matplotlib=1.4.3  scipy=0.17.0 pandas pyparsing xlrd xlwt xlwt console_shortcut
      ArcGIS 10.5.1: conda create -n arc1051 python=2.7.13 numpy=1.9.3 matplotlib=1.5.2  scipy=0.17.0 pandas pyparsing xlrd xlwt64-bit (Background Geoprocessing (x64), ArcGIS Pro
      ArcGIS 10.x x64 background processing: same as above, from Anaconda 64-bit prompt, for example:
           xlwt console_shortcut
      ArcGIS 10.6.1: conda create -n arc105x64 arc1061 python=2.7.12 14 numpy=1.9.2 3 matplotlib=1.45. scipy=0.17.0 pandas pyparsing xlrd xlwt
      ArcGIS Pro 1.2:  xlwt console_shortcut
    2. 64-bit 2.7 ArcGIS Desktop Background Geoprocessing
      Same as above for each version, from Anaconda 64-bit prompt, for example:
          conda create -n arcpro12 arc105x64 python=32.47.3 12 numpy=1.9.3 2 matplotlib=1.4.3 scipy scipy=0.1617.0 pandas pandas pyparsing xlrd xlwt
      ArcGIS Pro 1.3: conda  xlwt console_shortcut
    3. 64-bit Python 3 ArcGIS Pro (from Anaconda 64 bit prompt).
      ArcGIS Pro 1.2: conda create -n arcpro13 arcpro12 python=3.4.4 3 numpy=1.10 9.3 matplotlib=1.4.3 scipy=0.16.1 pandas 0 pandas pyparsing xlrd xlwtxlwt console_shortcut
      ArcGIS Pro 21.03: conda  conda create -n arcpro20 arcpro13 python=3.54.2 4 numpy=1.11.2 10 matplotlib=1.54.3 scipy=0.1816.1 pandas pyparsing xlrd xlwt
  3. The conda tool will:

...

    1. xlwt console_shortcut
      ArcGIS Pro 2.0: conda create -n arcpro20 python=3.5.2 numpy=1.11.2 matplotlib=1.5.3 scipy=0.18.1 pandas pyparsing xlrd xlwt console_shortcut
      ArcGIS Pro 2.2.1: conda create -n arcpro22 python=3.6.5 numpy=1.14.2 matplotlib=2.2.2 scipy=1.0.1 pandas pyparsing xlrd xlwt console_shortcut
  1. The conda tool will:
    • Determine that the specified package versions are compatible with each other.
    • Find any packages on which these depend and determine most recent versions that are compatible with what you've asked for, if not completely specified.
    • Show you what it plans to do and prompts you to continue.
    • Download (only) the packages you need to "overlay" onto the base environment to get the environment you have specified.
    • Set up a environment subdirectory, (D:\Users\jwpowell\Miniconda2\envs\arc1041 in our example) installing the downloaded packages into it. This adds up to about 1.5 GB in our ArcGIS 10.4.1 example.
    • The console_shortcut conda package will adds a shortcut to your Windows start menu that directly starts up your environment. (Note, if you remove the environment, you will have to delete it yourself.)
    • Windows 10 note: 

      Windows 10 won’t show a start menu item if the name of an item/shortcut within the new group matches a shortcut name in another group and has the same target  (e.g. both ‘Anaconda2 (32-bit)’ and ‘Anaconda2 (64-bit)’ have a shortcut named ‘Anaconda Prompt’ with a target of cmd.exe which confuses Windows 10). So, when Miniconda2 32-bit (and/or 64-bit) is installed edit the ‘Properties’ of ‘Anaconda Prompt’ -> General tab -> rename to ‘Anaconda Prompt 32-bit’. Also, rename each shortcut that is created for environments for 32-bit or 64-bit similarly for consistency. For example, if you created a new virtual environment in Anaconda 32-bit named arc1041 then you would rename the shortcut from ‘Anaconda Prompt (arc1041)’ to ‘Anaconda Prompt 32-bit (arc1041).

C. Test the virtual environment

...

  • Install Anaconda, setup environment to match your ArcGIS version
  • Download and edit the installation paths in this script (and rename from .py.txt to .py) this script:  (usercustomize.py.txt) -- and edit it to match your setup:
Code Block
languagepy
titleEdit block in usercustomize.txt
###########################################
# Edit here match your setup
# These paths must match your Anaconda setup exactly.

# Anaconda home folders
conda_arcmap_home = r"D:\Users\jwpowell\Miniconda2"
conda_arcmap64_home =  r"D:\Users\jwpowell\Miniconda3x64"
conda_arcpro_home = r"D:\Users\jwpowell\Miniconda3x64"

# anaconda environments set up to match Desktop and Pro
conda_arcmap_env = "arc1041"
conda_arcmap64_env = "arc1041x64"
conda_arcpro_env = "arcpro13"

# ArcGIS Pro install folder
default_pro_path = "arcpro13r"C:\ArcGIS\Pro"
 
# change to false after testing done
debug = True

# do not edit below this line
###########################################
  • IMPORTANT - Test and debug this script by running it from python.exe for each of your environments. (See examples in the script header.)Place the script in your user site packages folder with the name usercustomize.py
    The user site-packages folder path can be found with:  python -m site --user-site
    Usually:  C:\Users\username\AppData\Roaming. (See examples in the script header.)

Create a user-specific site packages folder and place the script in the folder with the name usercustomize.py. 
The user site-packages folder path can be found with:  python -m site --user-site
Usually:  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)


Code Block
languagetext
titleCommand prompt
:: Python 2.7
mkdir %APPDATA%\Python\Python27\site-packages
copy usercustomize.py %APPDATA%\Python\Python27\site-packages

...


:: Python 3.4
mkdir %APPDATA%\Python\Python34\site-packages
copy usercustomize.py %APPDATA%\Python\Python34\site-packages

...

 

 

Testing and Troubleshooting

...

  1. Start Anaconda 32-bit or 64-bit  command prompt
  2. activate arc1041  (or whichever environment in the list)
  3. python
  4. import arcpy
  5. print ("\n".join(sys.path)) -- you should see the ArcGIS site-packages near the end of the list

...

Using ArcPy with Anaconda (PyMorton)

Acknowledgements

...

Many thanks to Parker Norton for his reviews and excellent additions to this document!

Other approaches

Justin Mayers has posted a batch script to install and set up set up MiniConda and environments to interact compatibly with Esri desktop software (ArcMap and Pro).

USGS BWTST supports an Anaconda3 SCCM package. This could be installed and linked to Pro using the information in this document.

ArcGIS Pro 2.x and later sets up an Anaconda install of its own. This environment could also be leveraged in various ways as time goes on.