I don't like unnecessary duplication. Is it possible to install python only once and have both ArcGIS and OSGeo4W using it?


2 Answers 2


Update, 2017: This is now the best answer for co-existing ArcGIS + {other} python installs: Making separate Python installation that can call ArcPy?


Circa 2010, ArcGIS 9.x

This is how I did it for ArcGIS 9.3 and Osgeo4W with pythons 2.5 through 2.7:

  1. Uninstall existing arcgis python (or remove registery entries).
  2. Open an o4w command shell and run register-python.py
  3. Install pywin32 for corresponding python (*win32-py2.5.exe at the moment)
  4. Grab the arcgisscripting.py script written by Philippe Le Grand (taken from this thread in the ESRI scripting forum) and plop it into C:\Python2.5\Lib\site-packages

You might need to add C:\path\to\ArcGIS\bin to PYTHONPATH, depending on what arc python modules you use.



It should be. Citing from ESRI system requirements:

Python Requirement for Geoprocessing: Several ArcGIS geoprocessing tools, such as Multiple Ring Buffer, use the Python scripting language and require that Python is installed. If the ArcGIS Desktop, Engine or Server setups do not find Python 2.5.1 on the target computer, it will install Python 2.5.1 plus Numerical Python 1.0.3 during a typical or complete installation. You may choose a Custom installation to unselect the Python feature to avoid installing this feature. See the install guide for additional information concerning Python.

Using ArcGIS 9.3.1, Python 2.5.4 is (officially) supported

I have an install of ArcGIS including Python 2.4 plus OSGeo4W w/ Python 2.5. Using 2.5 causes some problems with certain geoprocessing tools - unfortunately which tools don't work depends on the method used for creating the geoprocessing object itself.

  • Oh that's interesting. Which tools are problematic? Commented Jul 23, 2010 at 18:05
  • I think I remember we had problems using the tools to generate topologies in geodatabases. But I am not sure anymore. Switching between arcgisscripting.create() and win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1") made one tool work and another didn't anymore. Weird stuff.
    – Crischan
    Commented Jul 26, 2010 at 10:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.