Использование разных версий Python в Windows

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


Название статьи временное.

Проблема: для разного геоскриптинга нужны разные версии 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