Как установить Python 2.x и Python 3.x в Windows 7 - PullRequest
215 голосов
/ 28 сентября 2010

Я делаю большую часть своего программирования на Python 3.x под Windows 7, но теперь мне нужно использовать Python Imaging Library (PIL), ImageMagick и wxPython, для которых требуется Python 2.x.

Могу ли я установить Python 2.x и Python 3.x в Windows 7? Когда я запускаю скрипт, как бы я «выбрал», какая версия Python должна его запускать? Смогут ли вышеупомянутые программы обрабатывать несколько версий Python, установленных одновременно? Я часами искал, как это сделать, но безрезультатно.

Спасибо.

Ответы [ 19 ]

145 голосов
/ 13 августа 2013

Я обнаружил, что формальный способ сделать это следующим образом:

Просто установите две (или более, используя их установщики) версии Python на Windows 7 (для меня работа с 3.3 и 2.7).

Следуйте приведенным ниже инструкциям, меняя параметры для своих нужд.

Создайте следующую переменную среды (по умолчанию при двойном щелчке):

Name:  PY_PYTHON
Value: 3

Чтобы запустить скриптв определенном интерпретаторе добавьте следующий шебанг (начало сценария):

#! python2

Чтобы выполнить сценарий с использованием определенного интерпретатора, используйте следующую команду приглашения:

> py -2 MyScript.py

Для запускаопределенный интерпретатор:

> py -2

Чтобы запустить интерпретатор по умолчанию (определяется переменной PY_PYTHON):

> py

Ресурсы

Документация: Использование Python в Windows

PEP 397 - Средство запуска Python для Windows

69 голосов
/ 25 марта 2014

Я скачал 2.7.6 и 3.3.4. В Python 3.3.4 есть возможность добавить путь к нему в переменной окружения, чтобы это было сделано. Поэтому я просто вручную добавил Python 2.7.6.

Как ...

  1. Пуск> в типе поиска в среде выберите «Изменить переменные среды для вашей учетной записи» 1

  2. Прокрутите вниз до Path, выберите путь, нажмите edit.

  3. Добавить C: \ Python27; поэтому у вас должны быть пути к обеим версиям Python, но если вы этого не сделаете, вы можете легко отредактировать их так, чтобы вы делали ..... C: \ Python27; C: \ Python33;

  4. Перейдите в папку Python27 на C: \ и переименуйте копию python.exe в python2.exe

  5. Перейдите в папку Python34 на C: \ и переименуйте копию python.exe в python3.exe

  6. Тест: откройте командную строку и введите python2 .... BOOM! Python 2.7.6. выход.

  7. Тест: откройте командную строку и наберите python3 .... BOOM! Python 3.4.3. выход.

Примечание: (чтобы не нарушать команды pip на шаге 4 и 5, сохраните копию python.exe в том же каталоге, что и переименованный файл)

49 голосов
/ 28 сентября 2010

У меня есть несколько версий в Windows.Я просто изменяю exe-имя версии, которую я не использую по умолчанию.

python.exe -> python26.exe

pythonw.exe -> pythonw26.exe

Что касается установщиков пакетов, большинство установщиков exe-файлов позволяют вам выбрать установку python для добавления пакета.Для ручной установки проверьте опцию --prefix, чтобы определить, где должен быть установлен пакет:

http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme

30 голосов
/ 16 октября 2014

Если вы используете Anaconda Python, вы можете легко устанавливать различные среды.

Скажем, у вас установлен Anaconda Python 2.7 и вы хотите среду Python 3.4:

conda create -n py34 python=3.4 anaconda

Затем для активации среды:

activate py34

А для деактивации:

deactivate py34

(В Linux вы должны использовать source activate py34.)

Ссылки:

Загрузить Anaconda Python

Инструкции для окружающей среды

8 голосов
/ 26 августа 2013

Начиная с версии 3.3. В версии для Windows есть средство запуска Python, пожалуйста, посмотрите раздел 3.4. Python Launcher для Windows

7 голосов
/ 26 мая 2015

Вот что вы можете сделать:

Установить cmder .Откройте и используйте Cmder, как и в случае с терминалом cmd.Используйте псевдоним команды для создания псевдонимов команды.

Я сделал следующее:

alias python2 = c:\python27\python.exe
alias python3 = c:\python34\python.exe

И это все!; -)

7 голосов
/ 20 февраля 2016

Я просто подумал об интересном решении.Хотя Windows не позволяет вам легко создавать псевдонимы для программ, вы можете вместо этого создавать переименованные пакетные файлы, которые будут вызывать текущую программу.

Вместо переименования исполняемого файла, который сломает много вещей, включая pip, создайте файл python2.bat в той же директории, что и python2.exe.Затем добавьте следующую строку:

%~dp0python %*

Что означает этот архаичный синтаксис?Ну, это пакетный скрипт (версия bash для Windows).% ~ dp0 получает текущий каталог, а% * просто передает все аргументы в python, которые были переданы в скрипт.

Повторите для python3.bat

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

Лучше всего, когда он добавлен в PATH, Windows игнорирует расширение, поэтому запуск

python3

Запустит версию python3 и и командуpython2 запустит версию python2.

Кстати, это та же технология, которую Spyder использует для добавления себя в путь в Windows.:)

5 голосов
/ 13 января 2018

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


Например, скажем, вы хотите установить Python 2.x и Python 3.x в одной системе Windows.

  1. Установите оба их бинарных релиза где угодно.

    • При появлении запроса не регистрируйте свои расширения файлов и
    • не добавлять их автоматически в переменную окружения PATH
  2. Запустив просто команду python, исполняемый файл, который впервые встречается в PATH, будет выбран для запуска. Другими словами, добавьте каталоги Python вручную. Тот, который вы добавите первым, будет выбран при вводе python. Последовательные программы на Python (в порядке возрастания размещения их каталогов в PATH) будут выбраны следующим образом:

    • py -2 для второго python
    • py -3 для третьего python и т. Д.
  3. Независимо от порядка "питонов" вы можете:

    • запустить скрипты Python 2.x с помощью команды: py -2 (функциональность Python 3.x) (т. Е. Будет выбрана первая программа установки Python 2.x, найденная в вашем PATH)
    • запускать скрипты Python 3.x с помощью команды: или py -3 (т.е. будет выбрана первая программа установки Python 3.x, найденная в вашем PATH) *

В моем примере сначала установлен Python 2.7.14 и Python 3.5.3. Вот как моя переменная PATH начинается с:

PATH = C: \ Program Files \ Microsoft MPI \ Bin \; C: \ Python27; C: \ Program Files \ Python_3.6 \ Scripts \; C: \ Program Files \ Python_3.6 \; C: \ ProgramData \ Oracle \ Java \ javapath; C: \ Program Files (x86) \ Общие файлы \ Intel \ Shared

...

Обратите внимание, что Python 2.7 - первый, а Python 3.5 - второй.

  • Таким образом, команда python запустит Python 2.7 (если Python 3.5 та же команда запустит Python 3.5).
  • Запуск py -2 запускает Python 2.7 (поскольку случается, что второй Python - это Python 3.5, который несовместим с py -2). Запуск py -3 запускает Python 3.5 (потому что это Python 3.x)
  • Если у вас на пути будет другой питон, вы запустите его так: py -4. Это может измениться, если / когда выйдет версия Python 4.

Теперь py -4 или py -5 и т. Д. На выходах моей системы: Requested Python version (4) not installed или Requested Python version (5) not installed и т. Д.

Надеюсь, это достаточно ясно.

3 голосов
/ 28 сентября 2010

Вы можете установить несколько версий Python на одну машину, и во время установки вы можете выбрать одну из них, связанную с расширениями файлов Python.Если вы устанавливаете модули, будут разные установочные пакеты для разных версий, или вы можете выбрать, какую версию вы хотите настроить.Поскольку они обычно устанавливаются в каталог site-packages версии интерпретатора, не должно быть никаких конфликтов (но я не проверял это).Чтобы выбрать версию Python, вам нужно будет вручную указать путь к интерпретатору, если он не является значением по умолчанию.Насколько я знаю, они будут использовать одни и те же переменные PATH и PYTHONPATH, что может быть проблемой.

Примечание. Я использую Windows XP.Я понятия не имею, если что-то изменится для других версий, но я не вижу причин, по которым это произойдет.

3 голосов
/ 06 июля 2016

То, что я сделал на своем собственном компьютере с Windows, где у меня установлен Python 2.7 и Python 3.4, я написал простой файл .bat в том же каталоге, что и мои файлы Python.exe.Они выглядят примерно так:

cmd /k "c:\python27\python.exe" %*

% * позволяет вам добавлять аргументы (файлы Python) впоследствии.Я считаю, что / k сохраняет приглашение открытым после завершения работы скрипта.Затем я сохраняю это как python27.bat. Затем я захожу в мой каталог Python 3 и создаю там файл bat.Теперь в моей командной строке я могу написать

Python27 helloworld.py

или

Python34 helloworld.py

И они будут работать в своих соответствующих версиях Python.Убедитесь, что c: \ python27 и c: \ python34 находятся в переменных вашего окружения.

Я получил ответ от здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...