Вопрос-Ответ

How to run multiple Python versions on Windows

Как запустить несколько версий Python в Windows

На моем компьютере были установлены две версии Python (версии 2.6 и 2.5). Я хочу запустить 2.6 для одного проекта и 2.5 для другого.

Как я могу указать, какую из них я хочу использовать?

Я работаю в Windows XP с пакетом обновления 2.

Переведено автоматически
Ответ 1

Запустить другую копию Python так же просто, как запустить правильный исполняемый файл. Вы упомянули, что запустили экземпляр python из командной строки, просто набрав python.

Что это делает в Windows, так это просматривает %PATH% переменную окружения, проверяя наличие исполняемого файла, будь то пакетный файл (.bat), командный файл (.cmd) или какой-либо другой исполняемый файл для запуска (это контролируется PATHEXT переменной окружения), который соответствует указанному имени. Когда программа находит нужный файл для запуска, файл запускается.

Теперь, если вы установили две версии python 2.5 и 2.6, в пути будут указаны оба их каталога, что-то вроде PATH=c:\python\2.5;c:\python\2.6 но Windows перестанет проверять путь, когда найдет совпадение.

Что вам действительно нужно сделать, так это явно вызвать одно или оба приложения, например c:\python\2.5\python.exe или c:\python\2.6\python.exe.

Другой альтернативой является создание ярлыка для соответствующего python.exe вызова одной из них python25 и другой python26; затем вы можете просто запустить python25 в командной строке.

Ответ 2

Добавляем еще два решения проблемы:


  • Используйте pylauncher (если у вас Python 3.3 или новее, нет необходимости устанавливать его, поскольку он уже поставляется с Python) и либо добавляйте в свои скрипты дополнительные строки;

#! c:\[path to Python 2.5]\python.exe - для скриптов, которые вы хотите запускать с Python 2.5

#! c:\[path to Python 2.6]\python.exe - для скриптов, которые вы хотите запускать с Python 2.6

или вместо выполнения python команды запустите команду pylauncher (py), указывающую, какую версию Python вы хотите;

py -2.6 – версия 2.6

py -2 – установлена последняя версия 2.x

py -3.4 – версия 3.4

py -3 – установлена последняя версия 3.x


  • Установите virtualenv и создайте две виртуальные среды;

virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]

virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]

например

virtualenv -p c:\python2.5\python.exe c:\venvs\2.5

virtualenv -p c:\python2.6\python.exe c:\venvs\2.6

затем вы можете активировать первую и работать с Python 2.5 следующим образом

c:\venvs\2.5\activate
и когда вы хотите переключиться на Python 2.6, вы делаете

deactivate  
c:\venvs\2.6\activate
Ответ 3

Согласно @alexander, вы можете создать набор символических ссылок, как показано ниже. Поместите их куда-нибудь, что включено в ваш path, чтобы их можно было легко вызывать

> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe

Пока c:\bin или где бы вы их ни разместили, это находится на вашем пути, теперь вы можете идти

> python25
Ответ 4

Начиная с версии Python 3.3, существует официальный лаунчер Python для Windows (http://www.python.org/dev/peps/pep-0397 /). Теперь вы можете использовать #!pythonX для определения желаемой версии интерпретатора также в Windows. Смотрите больше деталей в моем другом комментарии или прочитайте PEP 397.

Краткое описание: py script.py запускает версию Python, указанную в #! или Python 2, если #! отсутствует. py -3 script.py Запускает Python 3.

2023-07-09 20:33 python windows