Как запустить несколько версий Python в Windows - PullRequest
150 голосов
/ 03 января 2011

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

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

Я работаю в Windows XP SP2.

Ответы [ 15 ]

117 голосов
/ 03 января 2011

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

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

Теперь, если вы установили две версии 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 в командной строке.

78 голосов
/ 03 ноября 2012

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

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

#! 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 и создатьдва virtualenvs;

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
48 голосов
/ 22 июня 2013

Начиная с версии 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.

44 голосов
/ 19 декабря 2012

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

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

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

> python25
6 голосов
/ 03 января 2011

Когда вы устанавливаете Python, он не будет перезаписывать другие установки других основных версий. Таким образом, установка Python 2.5.x не перезапишет Python 2.6.x, хотя установка 2.6.6 перезапишет 2.6.5.

Так что вы можете просто установить его. Затем вы называете нужную вам версию Python. Например:

C:\Python2.5\Python.exe

для Python 2.5 на Windows и

C:\Python2.6\Python.exe

для Python 2.6 в Windows или

/usr/local/bin/python-2.5

или

/usr/local/bin/python-2.6

в Windows Unix (включая Linux и OS X).

При установке в Unix (включая Linux и OS X) вы получите общую установленную команду python, которая будет последней из установленных вами. В большинстве случаев это не проблема, так как большинство сценариев явно вызывают /usr/local/bin/python2.5 или что-то просто для защиты от этого. Но если вы не хотите этого делать, и, вероятно, не хотите, вы можете установить его так:

./configure
make
sudo make altinstall

Обратите внимание, что «altinstall» означает, что он установит его, но он не заменит команду python.

Насколько мне известно, в Windows вы не получаете глобальную команду python, так что это не проблема.

4 голосов
/ 07 октября 2015

Вот быстрый взлом:

  1. Перейдите в каталог версии Python, которую вы хотите запустить
  2. Щелкните правой кнопкой мыши python.exe
  3. Выберите ' Создать ярлык '
  4. Дайте этому ярлыку имя для вызова (я использую p27, p33 и т. Д.)
  5. Переместите этот ярлык к себе домойкаталог (C:\Users\Your name)
  6. Откройте командную строку и введите name_of_your_shortcut.lnk (я использую p27.lnk)
3 голосов
/ 19 декабря 2018
  1. установка python

    • C: \ Python27
    • C: \ Python36
  2. средапеременная

    • PYTHON2_HOME: C:\Python27
    • PYTHON3_HOME: C:\Python36
    • Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
  3. переименование файла

    • C: \ Python27 \ python.exe → C: \ Python27 \ python2.exe
    • C: \ Python36 \ python.exe → C: \ Python36 \ python3.exe
  4. пипс

    • python2 -m pip install package
    • python3 -m pip install package
2 голосов
/ 13 марта 2019

Например, для версии 3.6 тип py -3.6. Если у вас также есть 32-битная и 64-битная версии, вы можете просто набрать py -3.6-64 или py -3.6-32.

2 голосов
/ 21 июля 2014

cp c: \ python27 \ bin \ python.exe как python2.7.exe

cp c: \ python34 \ bin \ python.exe как python3.4.exe

онивсе в системном пути, выберите версию, которую вы хотите запустить

C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>

C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
1 голос
/ 06 марта 2018

Самый простой способ запустить несколько версий python в Windows описан ниже следующим образом: -

1) Загрузите последние версии python с python.org / downloads , выбрав соответствующую версию для вашей системы.

2) Запустите установщик и выберите Добавить python 3.x к пути , чтобы автоматически установить путь в python 3 (вам просто нужно установить флажок). Для python 2 откройте установщик python 2, выберите любые предпочтения, но не забудьте установить Добавить python.exe по пути в Будет установлен на локальный жесткий диск , теперь просто нажмите далее и дождитесь окончания установки.

3) Когда обе установки завершены. Щелкните правой кнопкой мыши на моем компьютере - Перейдите в свойства - Выберите дополнительные параметры системы - Перейдите к переменным среды - Нажмите новое в разделе Системные переменные и добавьте новую системную переменную с помощью имя переменной как PY_PYTHON и установить это значение переменной в 3 . Теперь нажмите OK , и все готово.

4) Теперь для проверки откройте командную строку . Как только вы окажетесь там, наберите python или py , должно открыться python3 .

5) Теперь выйдите из python3, набрав exit () . Теперь наберите py -2 , он должен открыть Python 2.

Если ничего из этого не работает, перезагрузите компьютер, а если проблема не устранена, удалите все и повторите шаги.

Спасибо.

...