create a local package dependencies repository and then install

2174
5
03-15-2017 04:07 AM
larryzhang
Regular Contributor

Hello, fellows,

With Conda and Python Package Manager, ArcGIS Pro 1.4 offers a great way to install and update external open-source Python packages.

Plus with the support of R (Microsoft R Server) via R-ArcGIS binding, ArcGIS Pro 1.3/ 1.4 has gradually become an innovation platform in development environment, especially for raster and data analytics ... 

However, it is still challenging for us to install and update behind the firewall (in the enterprise environment), particularly Python packages in ArcGIS Pro.

For example, first to determine and download all dependencies of the Python package (saying, TensorFlow, openCV, etc.), including dependencies of those dependencies (dependency tree), into a local repository (copy and transfer to this repository), and then automatically to install from the local repository behind the firewall.  

So, does ESRI have plan to improve the Python Package Manager sooner? Or, is there any 'effective & reliable' way to automatically create a local Python package dependencies and dependencies of those dependencies first, and then automatically install those into ArcGIS Pro from the local repository in the enterprise (via conda, pip or any other)?

(Relatively, much easier for us to do with R packages and dependencies for ArcGIS Pro ..., even not effective)

Regards,

Larry @ ARAMCO

5 Replies
DanPatterson_Retired
MVP Esteemed Contributor

Tensorflow is best installed inside your own conda distribution separate from the one you use for arcpro.  They recommend pip install for windows esri is probably only going to include packages that will be at least used by small portion of the user population since they can't distribute everything.  So pip is the way to go if you really need it whether you can do so easily within a firewalled environment raises the question why you have to use it in that environment in the first place when you can just as easily have a standalone setup for testing purposes.

0 Kudos
larryzhang
Regular Contributor

thx, dan,

In fact, the question's core nature is: is it possible for ArcGIS Pro to improve the manager, which will help determine the package dependencies tree and install automatically from the local repository. Na matter which one, conda or pip ...

Here, TensorFlow or openCV is just listed as an example here. What we really want is to install scikit-learn, scikit-image, etc. behind the firewall ...

regards,

0 Kudos
DanPatterson_Retired
MVP Esteemed Contributor

Larry, I empathize with your firewall issue (solution laptop or standalone machine).

A pure Anaconda distribution separate from Arc*s special packaging is possible through a full fledged Anaconda Navigator, which esri chose not to deploy but rather control access through their own offering in the Python link on the Project page.  If you don't need arcpy and can work on a local machine, set up your own as I have done so I can work anything I feel like that doesn't specifically require arcpy.  Do you really need to be connected to your organization to do most of your work or is for development work... that would be the issue.  I wouldn't expect that esri is going to deploy a full-fledged package manager anytime soon... Support would be flooded with calls asking for support for something that people brought upon themselves.

0 Kudos
larryzhang
Regular Contributor

Hopefully, ESRI will take positive action on this to support the enterprise needs.

In fact, some good stuffs have been already done in the development environment through the use of open source Python (Conda) and R (RStudio/ MRS) within ArcGIS Pro. It is time to move those into the enterprise to support operations...

0 Kudos
DanPatterson_Retired
MVP Esteemed Contributor
0 Kudos