Timeline for python upgrade?

3855
23
Jump to solution
08-03-2020 07:07 PM
DanPatterson
MVP Esteemed Contributor

Python... currently at the end of the 3.6 series in Pro (aka, 3.6.10).

Various packages that are used in the ecosystem are about to begin retiring 3.6.x.

For example... numpy will be saying goodbye

NEP 29 - Dropping Python version support · Issue #66 · dask/community · GitHub 

and, IPython

ipython/version7.rst at master · ipython/ipython · GitHub 

jupyterlab and jupyterlab-server... are they next?

Adopt NEP 29 (timeline for which versions of Python to support) · Issue #8577 · jupyterlab/jupyterla... 

Lots have been added to python  3.8.5 Documentation ... the last stable release

(don't forget to go back and check the 3.7 branch and look forward to 3.9/3.10 coming branches)

Is ArcMap the reason for the holdback?

Given that major and minor releases control substantive changes...

Releases and patches—ArcGIS Pro | Documentation 

and minor change from 2.5 to 2.6 didn't produce a python change AND minor changes seem to occur once a year around UC, does that mean that we have to wait until next year?

Does anyone have any thoughts on this?

Kory Kramer‌ I will flag you and perhaps the comments on Beta 2 about python versions could be fleshed out here


... sort of retired...
0 Kudos
23 Replies
DanPatterson
MVP Esteemed Contributor

Erik... I do my installations in the base/main Pro environment. 

A number of people have been having trouble with clones. 

Jupyter in Pro was working for a bit for me, but Matplotlib got broken and I haven't had the inclination to track the issue down

Spyder 4.1.4 is quite nice and I have been using their Spyder-notebook for a while

GitHub - spyder-ide/spyder-notebook: Jupyter notebook integration with Spyder 

https://community.esri.com/people/danretired/blog/2020/08/01/notebooks-in-spyder 


... sort of retired...
0 Kudos
ErikLash1
Occasional Contributor

Will give it a try. Thx Dan.

0 Kudos
ErikLash1
Occasional Contributor

Spyder Notebooks looks great but still no go - Spyder keeps throwing errors in both clones and the default Pro environment. Was worth a try and at least uninstalling and reinstalling Pro doesn't take very long.


spyder                    4.1.4                    py36_0


This time:

logger.error('%', 1, stack_info=True)
Message: '%'
Arguments: (1,)

May try installing prior verion of spyder.

0 Kudos
JoshuaBixby
MVP Esteemed Contributor

Erik Lash‌, I agree that the Python references in the REST API documentation are quite dated, but the ArcGIS API for Python has been out long enough for anyone using Python with the REST API to move over to it, and the ArcGIS API for Python is Python 3-based.

0 Kudos
ErikLash1
Occasional Contributor

The ArcGIS API for Python is a fantastic implementation but there are some places where it doesn't fill the gap.  

Examples of these include creating scripts for use in toolboxes or chained and complex workflows.

Use case referenced in this instance is a chained GIS workflow that is basically its own custom software application implementation which manipulates GIS features across a multi-database and multi-file store ecosystem resulting in a new data product that has to meet rigid controls for integration into a 3'rd party web application with a data package that gets deployed to testing and prod GIS server environments.

The REST API part of that process is very minimal but extremely crucial component - which we are still trying to update from Py 2.7 to Py 3.6 so we can completely end our use of ArcMap and Py 2.7.  

What we really want to avoid is having to code some parts of the process in different Pythonic environments or in combinations of multiple languages. 

What brought about my post on this thread is that we would very much like to have Jupyter Labs and Spyder working with the ArcGIS Pro environment as a super great and elegant solution for this particular application development need but are stumped because while we were able to work with them in Pro 2.5, we are among those that are struggling for success in 2.6

Presently using a combination of PyCharm and VSSCode to work with Pros Py 3.6.10 environment.

Would love for a unified approach to the foundational Pythonic components of the ESRI ecosystem (especially since Py 2.7 and Py 3.6 are incompatible and as Dan notes some 3.6 components are already retiring) and really see that as something very important to both successful adoption of the tools ESRI provides to the user base and strong user support for the ESRI products moving forward.

0 Kudos
ErikLash1
Occasional Contributor

Working now ... even Spyder Notebooks. Have only tested basic functionality so don't know if anything is still amiss.

https://community.esri.com/message/950872-re-another-pro-26-clone-problem?commentID=950872#comment-9... 

0 Kudos
DanPatterson
MVP Esteemed Contributor

You aren't going to do "maps" in Spyder Notebooks.  In fact, why would you want to do "maps" in Pro's notebooks when you have notebooks.

You can still do arcpy stuff however


... sort of retired...
0 Kudos
ErikLash1
Occasional Contributor

Yep. Spyder notebooks does what I need - mostly using it for code validation/qc and integrating arcpy.  When it comes time to run things into production functionality am switch back over to a Jupyter environment for the graphical capabilities.

As an aside, found the issue with the NodeJS npm error when bringing Jupyter Labs online with Pros environment - jupyterlab_server package included with Pro required a package update to make it compliant with the newer jupyterlab package.

Got everything working in Pro 2.6.1 Jupyter Labs including matplotlib and jupyter dashboards.

0 Kudos
DanPatterson
MVP Esteemed Contributor

Current

(arcgispro-py3) C:\arc_pro\bin\Python\envs\arcgispro-py3>conda list jupyter
# packages in environment at C:\arc_pro\bin\Python\envs\arcgispro-py3:
#
jupyter_client            6.1.2                    py36_0    esri
jupyter_console           6.1.0                    py36_0    esri
jupyter_core              4.6.3                    py36_2    esri
jupyterlab                2.0.1                    py36_0    esri
jupyterlab_server         1.2.0                      py_0

but there is some pre-release versions currently listed in the last little while at

https://anaconda.org/Esri/repo 

which is a good place to follow to see what is being updated in their environments (I presume for bug fixes and/or testing)


... sort of retired...
0 Kudos
DanPatterson
MVP Esteemed Contributor
https://anaconda.org/Esri/arcpy/files

arcpy for python 3.7 (?)

no listing for python 3.8


... sort of retired...
0 Kudos