Использование разных версий Python в Windows: различия между версиями
Нет описания правки |
|||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{Статья|Черновик} | {{Статья|Черновик}} | ||
Название статьи временное. | Название статьи временное. | ||
Строка 70: | Строка 70: | ||
cmd | cmd | ||
echo %pythonpath% | echo %pythonpath% | ||
==Версия Python по умолчанию== | |||
Версия Python по умолчанию определяется содержанием переменной PATH | |||
cmd | |||
path | |||
==Запуск скрипта другой версией== | |||
Для запуска скрипта другой версией достаточно указать к ней полный путь: | |||
c:\Python25\python.exe calc-field.py | |||
==Ошибка import arcgisscripting== | |||
ImportError: Module use of python25.dll conflicts with this version of Python. | |||
В c:\Windows\System32 находится python25.dll |
Текущая версия от 11:23, 9 марта 2013
Название статьи временное.
Проблема: для разного геоскриптинга нужны разные версии 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%
Версия Python по умолчанию
Версия Python по умолчанию определяется содержанием переменной PATH
cmd path
Запуск скрипта другой версией
Для запуска скрипта другой версией достаточно указать к ней полный путь:
c:\Python25\python.exe calc-field.py
Ошибка import arcgisscripting
ImportError: Module use of python25.dll conflicts with this version of Python.
В c:\Windows\System32 находится python25.dll