Использование разных версий Python в Windows
Название статьи временное.
Проблема: для разного геоскриптинга нужны разные версии Python.
Эта статья - попытка разобраться как использовать одну единственную или подружить на одной машине разные.
В OSGeo4W своя версия Python - 2.7.2
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Отдельно может быть установлена своя версия Python - 2.7.2
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
В ArcGIS 9.3.1 своя версия Python - 2.5.4 <- не уверен, что именно эта, но со свеже установленной 2.5.4 работает
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32
Проверить пути для текущей версии
Как проверить, где ищет свои модули текущая версия Python? Вот так:
import sys, pprint pprint.pprint(sys.path)
Пример результата для 2.5.4:
[, 'C:\\Program Files\\ArcGIS\\bin', 'C:\\Windows\\system32\\python25.zip', 'C:\\Python25\\DLLs', 'C:\\Python25\\lib', 'C:\\Python25\\lib\\plat-win', 'C:\\Python25\\lib\\lib-tk', 'C:\\Python25', 'C:\\Python25\\lib\\site-packages']
Пример результата для 2.7.2:
[, 'C:\\Python27\\lib\\site-packages\\pyopenssl-0.13-py2.7-win32.egg', 'C:\\Python27\\lib\\site-packages\\pip-1.2.1-py2.7.egg', 'C:\\Program Files\\ArcGIS\\bin', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\win32', 'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-packages\\Pythonwin']
Пример результата для 2.7.2 из OSGeo:
[, 'C:\\Program Files\\ArcGIS\\bin', 'c:\\OSGeo4W\\bin\\python27.zip', 'C:\\OSGeo4w\\apps\\Python27\\DLLs', 'C:\\OSGeo4w\\apps\\Python27\\lib', 'C:\\OSGeo4w\\apps\\Python27\\lib\\plat-win', 'C:\\OSGeo4w\\apps\\Python27\\lib\\lib-tk', 'c:\\OSGeo4W\\bin', 'C:\\OSGeo4w\\apps\\Python27', 'C:\\OSGeo4w\\apps\\Python27\\lib\\site-packages', 'C:\\OSGeo4w\\apps\\Python27\\lib\\site-packages\\PIL', 'C:\\OSGeo4w\\apps\\Python27\\lib\\site-packages\\win32', 'C:\\OSGeo4w\\apps\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\OSGeo4w\\apps\\Python27\\lib\\site-packages\\Pythonwin', 'C:\\OSGeo4w\\apps\\Python27\\lib\\site-packages\\wx-2.8-msw-unicode']
Почему в пути попадает путь к ArcGIS
В выводы выше все время попадает путь C:\\Program Files\\ArcGIS\\bin, это происходит потому, что он назначен переменной PYTHONPATH. Проверить что назначено этой переменной можно так:
cmd echo %pythonpath%
Запуск скрипта другой версией
Для запуска скрипта другой версией достаточно указать к ней полный путь:
c:\Python25\python.exe calc-field.py