У меня было две версии Python, установленные на моей машине (версии 2.6 и 2.5). Я хочу запустить 2.6 для одного проекта и 2.5 для другого.
Как я могу указать, что я хочу использовать?
Я работаю над Windows XP SP2.
У меня было две версии Python, установленные на моей машине (версии 2.6 и 2.5). Я хочу запустить 2.6 для одного проекта и 2.5 для другого.
Как я могу указать, что я хочу использовать?
Я работаю над Windows XP SP2.
Запуск другой копии Python так же просто, как запуск правильного исполняемого файла. Вы упомянули, что вы запустили экземпляр python из командной строки, просто набрав python
.
Что это делает в Windows, заключается в том, чтобы тралить переменную среды% PATH%, проверять исполняемый файл, командный файл (.bat), командный файл (.cmd) или какой-либо другой исполняемый файл для запуска, который соответствует названию, Когда он находит правильный файл для запуска, он делает это.
Теперь, если вы установили две версии python 2.5 и 2.6, путь будет содержать в себе оба их каталога, что-то вроде PATH=c:\python\2.5;c:\python\2.6
, но Windows перестанет изучать путь, когда найдет совпадение.
Что вам действительно нужно сделать, это явно вызвать одно или оба приложения, например c:\python\2.5\python.exe
или c:\python\2.6\python.exe
.
Другой альтернативой является создание ярлыка для соответствующего python.exe, вызывающего один из них python25, а другой python26; вы можете просто запустить python25
в командной строке.
Добавляем еще два решения проблемы:
#! c:\[path to Python 2.5]\python.exe
#! c:\[path to Python 2.5]\python.exe
- для сценариев, которые вы хотите запустить с Python 2.5 #! c:\[path to Python 2.6]\python.exe
#! c:\[path to Python 2.6]\python.exe
- для сценариев, которые вы хотите запустить с Python 2.6
или вместо запуска команды python
запустите команду pylauncher (py
), указав, какую версию Python вы хотите;
py -2.6
- версия 2.6 py -2
- последняя установленная версия 2.x py -3.4
- версия 3.4 py -3
- последняя установленная версия 3.x
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\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
тогда вы можете активировать первый и работать с Python 2.5, как это c:\venvs\2.5\activate
и когда вы хотите переключиться на Python 2.6, вы делаете
deactivate
c:\venvs\2.6\activate
Из Python 3.3 на официальной пусковой панели Python для Windows (http://www.python.org/dev/peps/pep-0397/). Теперь вы можете использовать #!pythonX
, чтобы определить нужную версию интерпретатора также в Windows. Подробнее см. в своем другом комментарии или прочитайте PEP 397.
Сводка: 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 на окнах и
C:\Python2.6\Python.exe
для Python 2.6 на окнах или
/usr/local/bin/python-2.5
или
/usr/local/bin/python-2.6
в <забастовке > Windows Unix (включая Linux и OS X).
При установке в Unix (включая Linux и OS X) вы получите стандартную команду python
, которая будет последней, которую вы установили. Это в основном не проблема, так как большинство скриптов явно вызовет /usr/local/bin/python 2.5 или что-то просто для защиты от этого. Но если вы не хотите этого делать, и вы, вероятно, не можете его установить следующим образом:
./configure
make
sudo make altinstall
Обратите внимание на "altinstall", что означает, что он установит его, но он не заменит команду python
.
В Windows вы не получаете глобальную команду python
, насколько я знаю, поэтому не проблема.
установить питон
переменная окружения
PYTHON2_HOME: C:\Python27
PYTHON3_HOME: C:\Python36
Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
переименование файла
зернышко
python2 -m pip install package
python3 -m pip install package
Вот быстрый хак:
C:\Users\Your name
)name_of_your_shortcut.lnk
(я использую p27.lnk
)cp c:\python27\bin\python.exe как python2.7.exe
cp c:\python34\bin\python.exe как python3.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.
>>>
Например, для версии 3.6 введите py -3.6
. Если у вас также есть 32-битная и 64-битная версии, вы можете просто набрать py -3.6-64
или py -3.6-32
.
Я настоятельно рекомендую проект pyenv-win.
Благодаря работе киранкотари, теперь у нас есть версия pyenv для Windows.
Самый простой способ запустить несколько версий python в Windows описан ниже следующим образом:
1) Загрузите последние версии python с python.org/downloads, выбрав соответствующую версию для вашей системы.
2) Запустите установщик и выберите " Добавить python 3.x к пути, чтобы автоматически установить путь в 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),
В разделе пользовательские переменные
добавлен% pathpython% в переменную окружения path
удалены любые ссылки на пути Python
В разделе системные переменные
Я создал пакетные файлы для каждой установки Python (например, для 3.4 x64
Имя = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) просто чтобы запомнить.
Содержание файла =
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
Для переключения между версиями я запускаю командный файл в режиме администратора.
!!!!! Изменения вступают в силу для окон командной строки SUBSEQUENT OPENED. !!!
Так что у меня есть точный контроль над этим.
У меня была та же проблема при работе с разными версиями Python, поэтому я использовал навигатор anaconda для создания разных сред разработки Python и использовал разные версии Python в каждой среде.
Вот справочная документация для этого.
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
Используя Rapid Environment Editor, вы можете нажать вверху каталога нужной установки Python. Например, чтобы запустить python из каталога c:\Python27, убедитесь, что каталог c:\Python27 находится до или в верхней части каталога c:\Python36 в переменной окружения Path. По моему опыту, выполняется первый исполняемый файл python, найденный в среде Path. Например, у меня установлен MSYS2 с Python27, и поскольку я добавил C:\MSYS2 в путь до C:\Python36, выполняется python.exe из папки C:\MSYS2....
Просто вызовите правильный исполняемый файл