I am aware that currently ArcServer Enterprise can only make use of the python 3 runtime environment on a Linux machine. ArcGIS Pro has already migrated to full python 3.x support...so my question is: are there any plans and approximate timelines about migration of ArcServer Enterprise to full Python 3.x integration for both Windows and Linux OS? If you have any information about it, please share it here. A lot of Machine Learning and scientific python libraries are now being fully developed and maintained in Python 3.x, especially for Windows OS (e.g. TensorFlow, Pytorch), so it would be great to start planning around a different server architecture soon.
There are no plans to migrate AGS to run natively across OSs on Python 3 per my last conversation with both the AGE Development Team and the EEAP lead. Rearchitecting onto Python 3 would be an enormous undertaking that would hamstring tons of automation and existing processes; the Python API is envisioned as the modern Python solution from Esri for managing AGE and Web GIS and is where tons of effort are being put right now.
Andrew,
Thanks for the update. Correct me if I am wrong, but my understanding is that the Python API is not meant/or related to publishing and serving web services (e.g. geoprocessing services) with the desired Python environment similar to what ArcPro does allowing users to create customized environments using Conda. With support for python 2.7 officially ending on January 1, 2020 and the plethora of currently existing machine learning and scientific python packages that run only on 3.5/3.6+ it would seem a bit counter intuitive not to allow ArcServer to use the python 3 runtime...Of course it’s a big effort and huge undertake but that’s what the whole ArcPro project was about...64bit and python 3...so why not doing the same for an enterprise GIS environment? Other open source solutions like Boundless Server will end up having an edge on this issue...
I’m not saying I disagree with the “it would be nice to have everything in 3,” but as of last month (my last call with the respective parties concerning your exact workflows (publishing specifically)) the message was that server has no short or medium term plans to move to Python 3.
HOWEVER, publishing GP services is possible through 3 (and if it isn’t available via the Python API now im sure that’s in the works). Portal is installed with Python 3 by default so it can (amongst other reasons) operate as a Web GIS, providing comparability with Pro and the Python API.
The direction of Esri (and this is my interpretation now) is to push server further and further back so both the admin and user experienece is Portal- Centric. This model is predicated, obviously, on the Web GIS base deployment which seems increasingly as a requirement moreso than a deployment style.
Right, so Portal can only be used to manage web services and ArcPro to publish them...but in terms of hosting the GP service and run the script tool attached to the GP service, it won't work if using python 3 libraries because ArcServer is not set up to use 3.x. I can't really understand why Portal would be installed with Python 3 since it's part of ArcGIS Enterprise (which includes Portal and ArcServer among others) but ArcServer in Python 2...