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

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

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

Я работаю над Windows XP SP2.

Ответ 1

Запуск другой копии 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 в командной строке.

Ответ 2

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

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

#! c:\[path to Python 2.5]\python.exe #! c:\[path to Python 2.5]\python.exe - для сценариев, которые вы хотите запустить с Python 2.5
#! c:\[path to Python 2.6]\python.exe #! 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;

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

Из 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.

Ответ 4

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

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

Пока c:\bin или где вы их разместили, вы можете перейти

> python25

Ответ 5

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

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

C:\Python2.5\Python.exe

для Python 2.5 на окнах и

C:\Python2.6\Python.exe

для Python 2.6 на окнах или

/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/python 2.5 или что-то просто для защиты от этого. Но если вы не хотите этого делать, и вы, вероятно, не можете его установить следующим образом:

./configure
make
sudo make altinstall

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

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

Ответ 6

  1. установить питон

    • 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

Ответ 7

Вот быстрый хак:

  • Перейдите в каталог версии python, которую вы хотите запустить
  • Щелкните правой кнопкой мыши на python.exe
  • Выберите "Создать ярлык"
  • Дайте этому ярлыку имя для вызова (я использую p27, p33 и т.д.)
  • Переместите этот ярлык в ваш домашний каталог (C:\Users\Your name)
  • Откройте командную строку и введите name_of_your_shortcut.lnk (я использую p27.lnk)

Ответ 8

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.
>>>

Ответ 9

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

Ответ 10

Я настоятельно рекомендую проект pyenv-win.

enter image description here

Благодаря работе киранкотари, теперь у нас есть версия pyenv для Windows.

Ответ 11

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

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

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

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

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

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

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

Благодарю.

Ответ 12

Использование командного файла для переключения, простой и эффективный на Windows 7. Я использую это:

В диалоговом окне переменной среды (C:\Windows\System32\SystemPropertiesAdvanced.exe),

В разделе пользовательские переменные

  1. добавлен% pathpython% в переменную окружения path

  2. удалены любые ссылки на пути Python

В разделе системные переменные

  1. удалены любые ссылки на пути Python

Я создал пакетные файлы для каждой установки Python (например, для 3.4 x64

Имя = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) просто чтобы запомнить.

Содержание файла =

     Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin

     setx PathPython %PathPython%

Для переключения между версиями я запускаю командный файл в режиме администратора.

!!!!! Изменения вступают в силу для окон командной строки SUBSEQUENT OPENED. !!!

Так что у меня есть точный контроль над этим.

Ответ 13

У меня была та же проблема при работе с разными версиями Python, поэтому я использовал навигатор anaconda для создания разных сред разработки Python и использовал разные версии Python в каждой среде.

Вот справочная документация для этого.

https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/

Ответ 14

  1. Вы можете скопировать python.exe из папки python 2.5 в C:\Windows и переименовать его в py25.exe (или любое другое имя).
  2. затем скопируйте файл python.exe из папки python 2.6 и вставьте его в папку C:\Windows (переименуйте его в py26.exe).
    Теперь вы можете написать py25 в командной строке для запуска python 2.5 и py26 для запуска python 2.6.
    Имя команды должно соответствовать переименованному файлу.

Ответ 15

Используя Rapid Environment Editor, вы можете нажать вверху каталога нужной установки Python. Например, чтобы запустить python из каталога c:\Python27, убедитесь, что каталог c:\Python27 находится до или в верхней части каталога c:\Python36 в переменной окружения Path. По моему опыту, выполняется первый исполняемый файл python, найденный в среде Path. Например, у меня установлен MSYS2 с Python27, и поскольку я добавил C:\MSYS2 в путь до C:\Python36, выполняется python.exe из папки C:\MSYS2....

Ответ 16

Просто вызовите правильный исполняемый файл