Я использую Windows, и оболочка / ОС автоматически запускает Python на основе настроек реестра, когда вы запускаете программу из командной строки. Это сломается, если я установлю версии Python 2.x и 3.x на одну и ту же машину?
Я хочу играть с Python 3, но при этом иметь возможность запускать сценарии 2.x на той же машине.
python
windows
python-3.x
compatibility
мятный
источник
источник
/usr/bin/python
и Python 3.3 в/usr/bin/python3
. Дает разные имена для Python3 Pip и IPython тоже. Очень кстати.Ответы:
Официальное решение для сосуществования, кажется, Python Launcher для Windows , PEP 397, который был включен в Python 3.3.0 . Установка высвобождения отвалов
py.exe
иpyw.exe
пусковые установки во%SYSTEMROOT%
(C:\Windows
) , который затем связанные сpy
иpyw
сценариями, соответственно.Чтобы использовать новый модуль запуска (без ручной настройки собственных ассоциаций с ним), оставьте включенным параметр «Регистрация расширений». Я не совсем уверен, почему, но на моей машине он оставил Py 2.7 в качестве «по умолчанию» (лаунчера).
Запуск сценариев путем вызова их непосредственно из командной строки направит их через панель запуска и проанализирует шебанг (если он существует). Кроме того, можно явно вызвать пусковую установку и использование переключателей:
py -3 mypy2script.py
.Все манеры Шебанга, кажется, работают
#!C:\Python33\python.exe
#!python3
#!/usr/bin/env python3
а также бессмысленные злоупотребления
#! notepad.exe
источник
py.exe
версии 3.6, по умолчанию должен запускаться Py3 поверх Py2, когда не указана версия и файл не содержит строки shebangwhere.exe pip
. Я думаю, что установщик Python 3 устанавливаетpip3
псевдоним для своего пункта, но вы также можете сделать что-то вроде того, чтоpy -3 -m pip install requests
я думаю.Вот мои настройки:
C:\Python34
(путь установки по умолчанию) и измените python.exe на python3.exeC:\Python27\;C:\Python27\Scripts\;C:\Python34\;C:\Python34\Scripts\;
Теперь в командной строке вы можете использовать
python
для 2.7 иpython3
для 3.4.источник
pip
в кли?pip
иpip3
соответственно.Вы можете установить оба.
Вы должны написать это перед вашим сценарием:
или, в конце концов ...
Обновить
Мое решение отлично работает с Unix, после быстрого поиска в Google вот решение для Windows:
То же самое: перед вашим сценарием.
источник
Начиная с версии 3.3, Python представил утилиту Launcher для Windows https://docs.python.org/3/using/windows.html#python-launcher-for-windows .
Итак, чтобы иметь возможность использовать несколько версий Python:
источник
py -3 filename.py
.Я использую 2.5, 2.6 и 3.0 из оболочки с пакетными сценариями в одну строку вида:
Назовите их
pythonX.Y.bat
и поместите их где-нибудь в вашем ПУТИ. Скопируйте файл для предпочитаемой минорной версии (т.е. самой последней) вpythonX.bat
. (Напримерcopy python2.6.bat python2.bat
.) Тогда вы можете использоватьpython2 file.py
из любого места.Однако это не помогает и даже не влияет на ситуацию с ассоциацией файлов Windows. Для этого вам понадобится программа запуска, которая читает
#!
строку, а затем связывает ее с файлами .py и .pyw.источник
При добавлении и переменной среда будет А конфликт , так как два исполняемыми имеют одинаковое имя:
python.exe
.Просто переименуйте один из них. В моем случае я переименовал его в
python3.exe
.Таким образом, когда я запускаю,
python
он будет выполняться,python.exe
который составляет 2,7, а когда я бегу,python3
он выполняет,python3.exe
который составляет 3,6источник
Fatal error in launcher: Unable to create process using '"c:\users\<my_username>\appdata\local\programs\python\python37-32\python.exe" "C:\Users\<my_username>\AppData\Local\Programs\Python\Python37-32\Scripts\pip.exe" '
.Ну вот...
winpylaunch.py
Я только что прочитал об этом, прочитав эту ветку (потому что это то, что мне тоже нужно). У меня есть Pythons 2.6.1 и 3.0.1 на Ubuntu и Windows. Если это не работает для вас, опубликуйте исправления здесь.
источник
sys.exit(process.returncode)
для передачи статуса завершения вызванного сценария вызывающей стороне.Насколько я знаю, Python запускается из командной строки, используя переменную PATH, а не параметр реестра.
Так что, если вы укажете правильную версию в вашем PATH, вы будете использовать это. Не забудьте перезапустить командную строку, чтобы использовать новые параметры PATH.
источник
Установка Python обычно ассоциируется
.py
,.pyw
и.pyc
файлы с интерпретатором Python. Таким образом, вы можете запустить скрипт Python, дважды щелкнув его в проводнике, или введя его имя в окне командной строки (поэтому вводить не нужноpython scriptname.py
, простоscriptname.py
подойдет).Если вы хотите вручную изменить эту связь, вы можете отредактировать эти ключи в реестре Windows:
Python Launcher
Люди работают на пусковой установке Python для Windows: легкая программа , связанная с
.py
и.pyw
файлы , которые выглядят бы на линии «притон» ( по аналогии с Linux и др) на первой линии, и запустить Python 2.x или 3.x , как обязательный. Подробности смотрите в блоге «Запуск Python для Windows» .источник
Попробуйте использовать Анаконду.
Используя концепцию сред Anaconda, предположим, что вам нужен Python 3 для изучения программирования, но вы не хотите уничтожать свою среду Python 2.7 путем обновления Python. Вы можете создать и активировать новую среду с именем «snakes» (или что угодно) и установить последнюю версию Python 3 следующим образом:
Это проще, чем кажется, взгляните на вступительную страницу здесь: Начало работы с Anaconda
А затем для решения вашей конкретной проблемы, связанной с параллельной работой версий 2.x и 3.x, см. Управление версиями Python с помощью Anaconda.
источник
Вот как запустить Python 2 и 3 на одной машине
Python Launcher для Windows , был встроен в Python начиная с версии 3.3, как и было обещано в 2011 году , когда в одиночку Stand первый дебютировали:
Python Launcher для Windows
источник
Вот аккуратный и чистый способ установить Python2 & Python3 на Windows.
https://datascience.com.co/how-to-install-python-2-7-and-3-6-in-windows-10-add-python-path-281e7eae62a
Мой случай: мне пришлось установить Apache Cassandra. У меня уже был установлен Python3 на моем диске D : . Из-за множества работ по разработке я не хотел испортить мою установку Python3. И мне нужен был Python2 только для Apache Cassandra.
Поэтому я предпринял следующие шаги:
C:\Python27;C:\Python27\Scripts
)python2 --version
) и Python 3 (python --version
).Итак, моя установка Python3 осталась без изменений.
источник
Я думаю, что есть возможность настроить связь файлов Windows для .py файлов в установщике. Снимите флажок, и все будет хорошо.
Если нет, вы можете легко повторно связать .py файлы с предыдущей версией. Самый простой способ - щелкнуть правой кнопкой мыши файл .py, выбрать «открыть с помощью» / «выбрать программу». В появившемся диалоговом окне выберите или выберите версию python, которую вы хотите использовать по умолчанию, и установите флажок «всегда использовать эту программу, чтобы открыть файл такого типа».
источник
Вы должны убедиться, что переменная окружения PATH не содержит оба файла python.exe (добавьте тот, который вы в настоящее время используете для ежедневного запуска сценариев), или сделайте так, как предложил Kniht с пакетными файлами. Кроме того, я не понимаю, почему нет.
PS: у меня установлен 2.6 как «основной» python и 3.0 как «play» . 2.6 включен в ПУТЬ . Все отлично работает
источник
Прежде чем я смело установил оба одновременно, у меня было так много вопросов. Если я дам python, пойдет ли он на py3, когда я захочу py2? pip / virtualenv произойдет под py2 / 3?
Кажется, сейчас все очень просто.
Просто вслепую установите их обоих. Убедитесь, что вы получите правильный тип (x64 / x32). Во время / после установки убедитесь, что вы добавляете в путь переменные среды .
Замените x в приведенной выше команде, чтобы задать путь.
Затем перейдите в обе папки.
Перейдите к
и переименуйте pip в pip3.
Если pip3 уже существует, удалите pip. Это обеспечит запуск только pip под python2 . Вы можете проверить по:
Если вы хотите использовать pip с python3, просто используйте
Вы можете сделать то же самое с файлом Python и другими.
Ура!
источник
Easy-peasy, после установки обеих версий python добавьте пути к переменным окружения, см . Затем перейдите к папкам python 2 и python 3 и переименуйте их в python2 и python3 соответственно, как показано и . Теперь в cmd наберите python2 или python3 для использования требуемой версии .
источник
Я предполагаю, что у меня есть Python 2.4, 2.5 и 2.6, установленные бок о бок на одном компьютере.
источник
Я только начинаю с Python. Я читаю книгу Зеда Шоу «Изучай Python как трудный путь», для которой требуется Python версии 2.x, но я также беру класс, который требует Python 3.x
Итак, вот что я сделал.
"[ENVIRONMENT] :: SETENVIRONMENTVARIABLE (" PATH "," $ ENV: PATH; C: \ PYTHON27 "," USER ")" (без внешних кавычек)
СЕЙЧАС для Python 3.x
Простая загрузка Python 3.x поставляется с приложением Python для Windows. Так что просто прикрепите приложение Python для Windows к панели задач или создайте ярлык на рабочем столе, и все готово!
Откройте Python для Windows для 3.x
Откройте Powershell для Python 2.x
Надеюсь, это поможет!
источник
Хм ... Я сделал это прямо сейчас, просто загрузив Python 3.6.5 для Windows по адресу https://www.python.org/downloads/release/python-365/ и убедившись, что программа запуска будет установлена. Затем я следовал инструкциям по использованию Python 2 и Python 3. Перезапустите командную строку и затем используйте
py -2.7
для использования Python 2 и /py
илиpy -3.6
для использования Python 3. Вы также можете использоватьpip2
для Python 2pip
иpip
для Python 3pip
.источник
У меня была та же проблема, когда я хотел использовать python3 для большей части работы, но IDA pro требовал python2. Итак, вот что я сделал.
Сначала я создал 3 переменные в пользовательской переменной среды следующим образом:
Теперь я добавил
в переменную PATH. Таким образом, в сущности говоря, что бы ни содержало это "PYTHON_ACTIVE", это активный питон. Мы программно изменяем содержимое «PYTHON_ACTIVE» для переключения версии Python.
Вот пример сценария:
Этот скрипт принимает версию Python в качестве входных данных и соответственно копирует HOME_PYTHON27 или HOME_PYTHON38 в PYTHON_ACTIVE. Таким образом меняется глобальная версия Python.
источник