Installation of Python by the ArcGIS installer should be in a sandbox, not globally

Idea created by jayde413 on Jun 23, 2015

    If you install Python as part of the installation of ArcGIS 10.3.x for Desktop on Windows, and an existing Python distribution is already installed, ArcGIS’s version will partially break the existing Python installation, wreaking havoc with any other Python based software the user may have installed. For example, we use Python a lot, with Python modules (or versions of modules) different from what ArcGIS requires. After installing ArcGIS, all of our software broke.

    My investigation points to ArcGIS’s installation of Python modifying the Windows registry to point to the ArcGIS version of Python. This is the normal behavior if ArcGIS is just distributing Python using Python’s own installer with all of its defaults. The workaround for me was to uninstall my installation of Python and reinstall it, so it fixes the registry to point to my version of Python.

    May I suggest that ArcGIS do a custom install of Python and its required dependencies in its own sandbox. That is, ArcGIS builds its own installer for Python that does not modify the Windows registry and installs Python on a path only relevant to ArcGIS. That way users can have their own global version of Python installed which ArcGIS does not use or modify in any way (including the registry), and ArcGIS has its own version which only it knows about. If ArcGIS users want access to additional Python modules not distributed by ArcGIS, they can “pip install” them into the ArcGIS’s Python installation, not the global one.