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



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



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



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

1413   11  

11 ответов:

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

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

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

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

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

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

  • использовать 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

и вместо выполнить команда pylauncher (py) specyfing какую версию 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.5

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

затем вы можете активировать первый и работать с Python 2.5, как это
c:\venvs.5\activate
и когда вы хотите переключиться на Python 2.6 вы

deactivate  
c:\venvs.6\activate

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

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

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

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

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

> python25

при установке 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

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

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

./configure
make
sudo make altinstall

обратите внимание на "altinstall", что значит он его установит, но он будет не заменить

вот быстрый Хак:

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

cp c:\python27\bin\python.exe как вместо python2.7.exe

cp c:\python34\bin\python.exe как питон3.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.
>>>

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

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

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

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

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

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

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

спасибо.

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

в диалоговом окне переменная окружения (C:\Windows\System32\SystemPropertiesAdvanced.exe),

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

  1. добавлено %pathpython% к переменной среды path

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

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

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

Я создал пакетные файлы для каждой установки python (exmple для 3.4 x64

Name = SetPathPython34x64 !!! ToExecuteAsAdmin.летучая мышь ;-) просто, чтобы помнить.

содержимое файла =

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

     setx PathPython %PathPython%

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

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

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

с помощью Быстрый Редактор Среды вы можете нажать на верхний каталог нужной установки Python. Например, чтобы запустить python из c:\Python27 каталог, убедитесь, что c:\Python27 каталог находится перед или поверх c:\Python36 каталог в переменной среды Path. По моему опыту, первый исполняемый файл python, найденный в среде Path, выполняется. Например, у меня установлен MSYS2 с Python27 и так как я добавил C:\MSYS2 для того, чтобы путь впереди C:\Python36-питон.exe от the C:\MSYS2.... папка выполняется.

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

Comments

    Ничего не найдено.