Я делаю большую часть своего программирования на Python 3.x в Windows 7, но теперь мне нужно использовать Python Imaging Library (PIL), ImageMagick и wxPython, для работы которых требуется Python 2.x.
Могу ли я установить Python 2.x и Python 3.x в Windows 7? Когда я запускаю скрипт, как бы я «выбрал», какая версия Python должна его запускать? Смогут ли вышеупомянутые программы обрабатывать несколько версий Python, установленных одновременно? Я часами искал, как это сделать, но безрезультатно.
Спасибо.
Ответы:
Я обнаружил, что формальный способ сделать это заключается в следующем:
Просто установите две (или более, используя их установщики) версии Python на Windows 7 (для меня работа с 3.3 и 2.7).
Следуйте инструкциям ниже, изменяя параметры для ваших нужд.
Создайте следующую переменную среды (по умолчанию при двойном щелчке):
Чтобы запустить скрипт в определенном интерпретаторе, добавьте следующий шебанг (начало скрипта):
Чтобы выполнить сценарий с использованием определенного интерпретатора, используйте следующую команду приглашения:
Чтобы запустить конкретного переводчика:
Чтобы запустить интерпретатор по умолчанию (определяется переменной PY_PYTHON):
Ресурсы
Документация: Использование Python в Windows
PEP 397 - средство запуска Python для Windows
источник
c:\python35;c:\python35\scripts;c:\python27\scripts;
. Это позволяет использоватьpip2
/pip3
, иeasy_install-2.7
/easy_install-3.5
вместоpip
иeasy_install
.py -m pip install ...
. Добавьте переключатели после,py
чтобы выбрать Python для запуска pip, как указано выше.Я скачал 2.7.6 и 3.3.4. В Python 3.3.4 есть возможность добавить путь к нему в переменной окружения, чтобы это было сделано. В общем, я просто вручную добавил Python 2.7.6.
Как...
Пуск> в типе поиска в среде выберите «Изменить переменные среды для вашей учетной записи» 1
Прокрутите вниз до Path, выберите path, нажмите edit.
Добавить C: \ Python27; поэтому у вас должны быть пути к обеим версиям Python, но если вы этого не сделаете, вы можете легко отредактировать их так, чтобы вы делали ..... C: \ Python27; C: \ Python33;
Перейдите в папку Python27 в C: \ и переименуйте копию python.exe в python2.exe.
Перейдите в папку Python34 в C: \ и переименуйте копию python.exe в python3.exe.
Тест: откройте командную строку и введите python2 .... BOOM! Python 2.7.6. выход
Тест: откройте командную строку и введите python3 .... BOOM! Python 3.4.3. выход
Примечание: (чтобы не нарушать команды pip на шаге 4 и 5, сохраните копию python.exe в том же каталоге, что и переименованный файл)
источник
У меня есть несколько версий в Windows. Я просто изменяю exe-имя версии, к которой я не по умолчанию.
Что касается установщиков пакетов, большинство установщиков exe-файлов позволяют выбрать установку python, чтобы добавить пакет. Для ручной установки проверьте параметр --prefix, чтобы определить, где должен быть установлен пакет:
http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme
источник
pip3
иpip3.4
. (это также включает в себяpip
, но, я думаю, удаление, которое должно разрешить любые конфликты с python2). На самом деле у меня нетC:\Python34\Scripts
по моемуPath
, так что я не имел каких - либо связанных с пипсов проблем ...Если вы используете Anaconda Python, вы можете легко установить различные среды.
Допустим, у вас установлен Anaconda Python 2.7 и вы хотите среду Python 3.4:
Затем для активации среды:
И чтобы деактивировать:
(С Linux вы должны использовать
source activate py34
.)Ссылки:
Скачать Анаконда Питон
Инструкции для сред
источник
Для установки и запуска любой версии Python в той же системе следуйте моему руководству ниже.
Например, вы хотите установить Python 2.x и Python 3.x в одной системе Windows.
Установите оба их бинарных релиза где угодно.
При простом выполнении команды
python
будет выбран исполняемый файл, который впервые встречается в PATH. Другими словами, добавьте каталоги Python вручную. Тот, который вы добавите первым, будет выбран при вводеpython
. Последовательные программы на Python (в порядке возрастания расположения их каталогов в PATH) будут выбраны следующим образом:python
python
т.д ..Независимо от порядка "питонов" вы можете:
В моем примере у меня установлен 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
т. Д.Надеюсь, это достаточно ясно.
источник
pip
. Для любого другого установленного питона вы должны вручную указать путь, т.е.C:\Python27\Scripts\pip.py [parameters]
, (Конечно, в качестве ярлыка, вы можете поместить любой исполняемый файл в переменную окружения.)Начиная с версии 3.3, в версии для Windows имеется средство запуска Python, ознакомьтесь с разделом 3.4. Python Launcher для Windows
источник
Вот что вы можете сделать:
Установите cmder . Откройте и используйте Cmder, как если бы вы использовали терминал cmd. Используйте псевдоним команды для создания псевдонимов команды.
Я сделал следующее:
И это все! ;-)
источник
set-alias python2 c:\python27\python.exe
Я просто подумал об интересном решении. Хотя Windows не позволяет вам легко создавать псевдонимы программ, вы можете вместо этого создавать переименованные пакетные файлы, которые будут вызывать текущую программу.
Вместо того, чтобы переименовывать исполняемый файл, который ломает многие вещи, включая pip, создайте файл python2.bat в том же каталоге, что и python2.exe. Затем добавьте следующую строку:
Что означает этот архаичный синтаксис? Ну, это пакетный скрипт (версия bash для Windows). % ~ dp0 получает текущий каталог, а% * просто передает все аргументы в python, которые были переданы в скрипт.
Повторите для python3.bat
Вы также можете сделать то же самое для pip и других утилит, просто замените слово python в файле на pip или любое другое имя файла. Псевдоним будет любым именем файла.
Лучше всего, когда добавляется в PATH, Windows игнорирует расширение, поэтому работает
Запустит версию python3 и команда python2 запустит версию python2.
Кстати, это та же самая техника, которую Spyder использует для добавления себя в путь в Windows. :)
источник
Вы можете установить несколько версий Python на одну машину, и во время установки вы можете выбрать одну из них, связанную с расширениями файлов Python. Если вы устанавливаете модули, будут разные установочные пакеты для разных версий, или вы можете выбрать, какую версию вы хотите настроить. Поскольку они обычно устанавливаются в каталог site-packages версии интерпретатора, не должно быть никаких конфликтов (но я не проверял это). Чтобы выбрать версию Python, вам нужно будет вручную указать путь к интерпретатору, если он не задан по умолчанию. Насколько я знаю, они будут использовать одни и те же переменные PATH и PYTHONPATH, что может быть проблемой.
Примечание: я использую Windows XP. Я понятия не имею, если что-то из этого меняется для других версий, но я не вижу причин, по которым это будет.
источник
На моем собственном компьютере с Windows, на котором установлены Python 2.7 и Python 3.4, я написал простой .bat-файл в той же папке, что и мои файлы Python.exe. Они выглядят примерно так:
% * Позволяет вам добавлять аргументы (файлы Python) впоследствии. Я полагаю, что / k сохраняет приглашение открытым после завершения работы скрипта. Затем я сохраняю это как python27.bat. Затем я захожу в мой каталог Python 3 и создаю там файл bat. Теперь в моей командной строке я могу написать
Или
И они будут работать в своих соответствующих версиях Python. Убедитесь, что c: \ python27 и c: \ python34 находятся в ваших переменных окружения.
Я получил ответ отсюда
источник
Я сделал это в три этапа, следуя приведенным здесь инструкциям: все это взято прямо отсюда: http://ipython.readthedocs.io/en/stable/install/kernel_install.html . В настоящее время я использую Python 2.x в Windows 8 и у меня установлена Anaconda 4.2.13.
1) Сначала установите последнюю версию python:
2) Далее активируйте python3
3) Установить ядро:
Если у вас установлен Python 3 и вы хотите установить 2, переключите 2 и 3 выше. Когда вы открываете новый блокнот, вы можете выбирать между Python 2 или 3.
источник
Проверьте системные переменные окружения после установки Python, каталоги python 3 должны быть сначала в переменной PATH, а затем в python 2.
Какая переменная пути совпадает первой - та, которую использует Windows.
Как всегда py -2 запустит python2 в этом сценарии.
источник
Я сам столкнулся с этой проблемой и сделал свои пусковые установки в .bat, чтобы вы могли выбрать версию, которую хотите запустить.
Единственная проблема - ваш .py должен быть в папке python, но в любом случае вот код:
Для Python2
Для Python3
Сохраните их как .bat и следуйте инструкциям внутри.
источник
Установите тот, который вы используете чаще всего (3.3 в моем случае) поверх другого. Это заставит IDLE использовать тот, который вы хотите.
Альтернативно (из README python3.3):
Установка нескольких версий
В системах Unix и Mac, если вы собираетесь установить несколько версий Python с использованием одного и того же префикса установки (аргумент --prefix для скрипта configure), вы должны позаботиться о том, чтобы ваш основной исполняемый файл python не был перезаписан при установке другой версии. Все файлы и каталоги, установленные с помощью «make altinstall», содержат главную и вспомогательную версии и, следовательно, могут работать бок о бок. «make install» также создает $ {prefix} / bin / python3, который ссылается на $ {prefix} /bin/pythonX.Y. Если вы намереваетесь установить несколько версий, используя один и тот же префикс, вы должны решить, какая версия (если таковая имеется) является вашей "основной" версией. Установите эту версию, используя «make install». Установите все остальные версии, используя «make altinstall».
Например, если вы хотите установить Python 2.6, 2.7 и 3.3 с 2.7 в качестве основной версии, вы должны выполнить «make install» в вашем каталоге сборки 2.7 и «make altinstall» в других.
источник
Я просто должен был установить их. Затем я использовал бесплатное (и переносимое) программное обеспечение по адресу http://defaultprogramseditor.com/ в разделе «Настройки типа файла» / «Контекстное меню» / search: «py», выбрал файл .py и добавил команду «open» для 2 IDLE, скопировав существующую команду с именем 'open with IDLE, изменив имена на IDLE 3.4.1 / 2.7.8 и переместив номера файлов их соответствующих версий в путь к программе. Теперь мне нужно просто щелкнуть правой кнопкой мыши по файлу .py и выбрать, какой IDLE я хочу использовать. Можно сделать то же самое с прямыми переводчиками, если вы предпочитаете.
источник
Работает только в том случае, если вы выполняете свой код в Python IDE
На моей операционной системе Windows установлены Python 2.7 и Python 3.3. Если я пытаюсь запустить файл, он обычно открывается в Python 2.7 IDE. Как я решил эту проблему, когда я решил запустить свой код на python 3.3, я открываю python 3.3 IDLE (Python GUI), выбираю файл, открываю свой файл с IDLE и сохраняю его. Затем, когда я запускаю свой код, он работает на IDLE, с которым я в данный момент открыл его. Работает наоборот с 2.7.
источник
Я установил как 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.
источник
Если вы не можете заставить что-либо работать, откройте переводчик в любой выбранной вами версии (я предпочитаю использовать iPython) и:
Он использует ту версию Python, под которой вы сейчас работаете. Хорошо работает для одного скрипта, но быстро выйдет из-под контроля, если вы запустите много скриптов, и в этом случае вы всегда можете создать командный файл со всеми этими вызовами внутри. Не самый элегантный ответ, но он работает.
Есть ли способ сделать псевдонимы для разных версий Python а-ля Linux?
источник