Как установить Python 2.x и Python 3.x в Windows 7

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

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

Спасибо.

Ответ 1

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

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

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

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

Name:  PY_PYTHON
Value: 3

Чтобы запустить script в конкретном интерпретаторе, добавьте следующий shebang (начало script):

#! python2

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

> py -2 MyScript.py

Чтобы запустить специальный интерпретатор:

> py -2

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

> py

Ресурсы

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

PEP 397 - Пусковая установка Python для Windows

Ответ 2

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

Как...

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

  2. Прокрутите вниз до Path, выберите 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.... БУМ! Python 3.4.3. выход

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

Ответ 3

У меня несколько версий в 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

Ответ 4

Если вы используете 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

Инструкции для сред

Ответ 6

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

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

%~dp0python %*

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

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

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

Лучше всего, когда он добавляется в PATH, Windows игнорирует расширение, выполняющееся

python3

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

Кстати, это тот же метод, который Spyder использует, чтобы добавить себя к пути в Windows.:)

Ответ 7

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

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

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

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

И это!; -)

Ответ 8

Для установки и запуска любой версии 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 и т.д.

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

Ответ 9

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

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

Ответ 10

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

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

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

Python27 helloworld.py

или

Python34 helloworld.py

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

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

Ответ 11

Я сделал это в три этапа, следуя инструкциям здесь: все это взято прямо здесь: http://ipython.readthedocs.io/en/stable/install/kernel_install.html. В настоящее время я запускаю Python 2.x в Windows 8 и установлен Anaconda 4.2.13.

1) Сначала установите последнюю версию python:

conda create -n python3 python=3 ipykernel

2) Затем активируйте python3

activate python3

3) Установите ядро:

python -m ipykernel install --user

Если у вас установлен Python 3 и вы хотите установить 2, переключите 2 и 3 выше. Когда вы открываете новый ноутбук, теперь вы можете выбирать между Python 2 или 3.

Ответ 12

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

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

Для Python2

@echo off
title Python2 Launcher by KinDa
cls
echo Type the exact version of Python you use (eg. 23, 24, 25, 26)
set/p version=
cls
echo Type the file you want to launch without .py (eg. hello world, calculator)
set/p launch=
path = %PATH%;C:\Python%version%
cd C:\Python%version%
python %launch%.py
pause

Для Python3

@echo off
title Python3 Launcher by KinDa
cls
echo Type the exact version of Python you use (eg. 31, 32, 33, 34)
set/p version=
cls
echo Type the file you want to launch without .py (eg. hello world, calculator)
set/p launch=
cls
set path = %PATH%:C:\Python%version%
cd C:\Python%version%
python %launch%.py
pause

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

Ответ 13

Проверьте переменные системной среды после установки Python, каталоги python 3 должны быть первыми в вашей переменной PATH, а затем python 2.

Независимо от того, какая переменная пути совпадает с той, которую использует Windows.

Как всегда py -2 запускает python2 в этом сценарии.

Ответ 14

Установите тот, который вы используете больше всего (3.3 в моем случае) поверх другого. Это заставит IDLE использовать тот, который вы хотите.

В качестве альтернативы (из python3.3 README):

Установка нескольких версий

В системах Unix и Mac, если вы собираетесь установить несколько версий Python используя тот же установочный префикс (аргумент -prefix для configure script) вы должны позаботиться о том, чтобы ваш основной исполняемый файл python не был перезаписан установка другой версии. Все файлы и каталоги, установленные с помощью "make altinstall" содержат основную и второстепенную версию и могут таким образом жить бок о бок. "make install" также создает ${prefix}/bin/python3, который ссылается на $ {Префикс}/bin/pythonX.Y. Если вы собираетесь установить несколько версий, используя вы должны решить, какая версия (если таковая имеется) является вашей "основной" версией. Установите эту версию с помощью "make install" . Установите все другие версии, используя "make altinstall".

Например, если вы хотите установить Python 2.6, 2.7 и 3.3 с 2.7, являющимся первичной версии, вы должны выполнить "make install" в каталоге сборки 2.7 и "сделать altinstall" в других.

Ответ 15

Мне просто нужно было установить их. Затем я использовал бесплатное (и портативное) программное обеспечение в http://defaultprogramseditor.com/ в разделе "Настройки типа файла" / "Контекстное меню" /поиск: "py", выбрал .py файл и добавил команду "open" для 2 IDLE, скопировав существующую команду с именем "open with IDLE", изменив имена на IDLE 3.4.1/2.7.8 и переместив номера файлов своих соответствующих версий в программный путь. Теперь мне нужно просто щелкнуть файл .py и выбрать, какой IDLE я хочу использовать. Можете сделать то же самое с прямыми переводчиками, если хотите.

Ответ 16

То, что я сделал лично, очень просто.

Система: Windows 8.1 x86_64, версии для Python x64

  • Установите последние двоичные файлы Python 3.x и добавьте каталог в путь (я также зарегистрирую расширения .py для работы с Python 3.x).
  • Установите последние исполняемые файлы Python 2.x(не регистрируя с ним расширения и не добавляя путь).

Кажется, что Python 3.x обеспечивает обратную совместимость с Python 2.x , если установлены двоичные файлы Python 2.x.

Загрузите инсталляторы с официального сайта Python. После установки их, как указано выше, запустите Python 3 как обычно. Теперь для программ Python 2.x они запускаются как таковые: py -2 [command].

Протестировано на нескольких программах Python 2.x.

Ответ 17

Работает только в том случае, если вы запускаете свой код в своей среде разработки на языке Python

У меня есть оба Python 2.7 и Python 3.3, установленные в операционной системе Windows. Если я попытаюсь запустить файл, он, как правило, откроется на платформе python 2.7 IDE. Как я решил эту проблему, когда я решил запустить мой код на python 3.3, я открываю python 3.3 IDLE (Python GUI), выбираю файл, открываю файл с IDLE и сохраняю его. Затем, когда я запускаю свой код, он запускается в IDLE, с которого я в настоящее время его открывал. Он работает наоборот с 2.7.

Ответ 18

Я установил как python 2.7.13, так и python 3.6.1 на windows 10pro, и я получал ту же "Неустранимая ошибка", когда я пробовал pip2 или pip3.

Что я сделал, чтобы исправить это, так это перейти к местоположению python.exe для файлов python 2 и python 3 и создать копию каждого, затем я переименовал каждую копию в python2.exe и python3.exe в зависимости от python версии в папке установки. Поэтому я имел в каждой папке установки python файл python.exe и python2.exe или python3.exe в зависимости от версии python.

Это решило мою проблему, когда я набрал либо pip2, либо pip3.

Ответ 19

Если вы не можете заставить что-то еще работать, откройте интерпретатор в той версии, которую вы выбрали (я предпочитаю использовать iPython) и:

import subprocess

subprocess.call('python script.py -flags')

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

Есть ли способ сделать псевдонимы для разных версий python a la Linux?