Working with Python in ArcGIS Pro 1.3 will be different from earlier versions. From this new version, Esri will integrate the functionality of conda. This blog discusses how using Python is different to earlier versions and what is conda.
By Eric van Rees
ArcGIS Pro version 1.3.1 was released in August. With regards to Python functionality, there are some big changes. One such change is the integration of conda, that is used for distributing the new ArcGIS Python API, among other things.
What is conda?
Conda, short for Anaconda for Python, is a popular and widely used Python package manager. It is created by Continuum Analytics, a company dedicated to advancing Python’s role within the scientific computing community. The software program can be downloaded for free from the Continuum Analytics (1) and is available in multiple versions (for Python 2.7 or 3.5, both available in 32 and 64-bit versions). If you´re using a version of Pro below 1.3 and want to make use of the ArcGIS Python API, you need to install version 3.5 of conda as it requires Python 3.
Conda includes over 100 of the most popular Python, R and Scala packages for data science. In addition, you have access to more than 720 additional packages that can be installed with the software. The 64-bit installation file of version 3.5 is about 350 MB. If you don´t want to install that many packages on your hard drive, there´s also a miniature version of conda available called Miniconda, offering only conda and Python, allowing the user to install individual packages through the conda command line.
Why has Esri integrated conda functionality into Pro?
Esri has been trying to bring the scientific community and the GIS community together by releasing the R-ArcGIS bridge, and the integration of conda within Pro is another step in this direction: by doing so, Esri solves not only the problem of managing code packages on a machine, but also the challenge to share it with others and in different versions. In combination with the new ArcGIS Python API, academics, data scientists and GIS analysts will be able share programs and reproducible research with others.
One Python version, multiple uses
The integration of conda also has implications with regards to the installation of Python together with Pro 1.3. Where previous versions of Pro came with a lightweight version of Python installed, requiring a secondary install of Python in order to run standalone scripts, this is no longer necessary with Pro 1.3. Instead, Esri now installs one Python to be used inside of the application and to run standalone scripts. The arcpy module must be run from inside the conda environment, which ArcGIS Pro uses to manage the installation of Python. To avoid confusion, you need to uninstall Python for ArcGIS Pro from previous versions of Pro.
The integration of conda changes the way one would work with Python as well as the arcpy module outside of ArcGIS Pro . For example, when you want to use a Python IDE with Pro 1.3, you need to configure the version of Python that the IDE uses by directing the IDE to use the correct Python.exe file within the ArcGIS Pro installation.
It is not yet possible to create and change conda environments with specific sets and versions of Python packages within ArcGIS Pro. There is a current workaround to this problem, which involves calling ArcGIS\Pro\bin\python\scripts\propy.bat from a command prompt, which determines the application’s active conda environment and activates it in a standalone script.
Upcoming Python – ArcGIS Pro classes from Geospatial Training Services.
Introduction to Programming ArcGIS Pro with Python
Intermediate ArcGIS Pro Programming with Python