Подтвердить что ты не робот

Как вы переключаетесь между python 2 и 3 и наоборот?

Я читаю Как узнать Python Жесткий путь, который использует 2. Недавно обнаруженный Invent With Python, который использует 3.

Могу ли я загрузить python 3 и использовать его, когда я прочитал Invent With Python, а затем вернусь к python 2, когда я хочу прочитать "Как узнать Python The Hard Way". Если да, то как мне выбрать, какую версию я использую?

4b9b3361

Ответ 1

Используя 'virtualenv', вы можете иметь разные изолированные среды Python на одной машине. Также вы можете переключать любое время между различными версиями интерпретатора python.

Что такое virtualenv?

Виртуальная среда - изолированная рабочая копия Python, которая позволяет вам работать над конкретным проектом, не беспокоясь о влиянии на другие проекты. Он позволяет несколько параллельных установок Python, по одному для каждого проекта. На самом деле он не устанавливает отдельные копии Python, но он обеспечивает умный способ изолировать различные среды проекта.

Как установить?

pip install virtualenv

Чтобы создать виртуальную среду для python 2.7:

root:~# which python2.7

/usr/bin/python2.7

root:~# which python3.4

/usr/local/bin/python3.4

Вы также можете использовать интерпретатор Python по вашему выбору:

root:~# virtualenv -p /usr/bin/python2.7 Vpy27

Running virtualenv with interpreter /usr/bin/python2.7

New python executable in /root/Vpy27/bin/python2.7

Also creating executable in /root/Vpy27/bin/python

Installing setuptools, pip, wheel...done.

Чтобы начать использовать виртуальную среду, ее необходимо активировать:

root:~# source Vpy27/bin/activate

Имя текущей виртуальной среды появится в левой части подсказки:

(Vpy27) root:~# python -V
Python 2.7.3

Установите пакеты как обычно, например:

(Vpy27) root:~# pip install junos-eznc    >> All pip installs done here, will be available only in this environment.

Если вы закончили работу в виртуальной среде на данный момент, вы можете деактивировать ее:

(Vpy27) root:~# deactivate   

Чтобы создать виртуальную среду для python 3.4:

root:~# which python3.4

/usr/local/bin/python3.4

root:~# virtualenv -p /usr/local/bin/python3.4 Vpy34

root:~# source Vpy34/bin/activate

(Vpy34) root:~# python -V
Python 3.4.4

Существует также способ создания виртуальной среды с уже доступными пакетами сайтов.

Ответ 2

зависит от вашей системы/платформы...

В настоящее время я на Ubuntu 10.10, и у меня установлены как 2.6, так и 3.1. Системный python по умолчанию - 2.6, а python3 - как дополнительный пакет.

[email protected]:~$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
[email protected]:~$ python3
Python 3.1.2 (release31-maint, Sep 17 2010, 20:27:33) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Аналогично, в Windows я установил 2.6 и 3.1 (в C:\Python26 и C:\Python31)

легко переключаться взад и вперед.


также.. существуют некоторые синтаксические различия между 2.x и 3.x, которые вам нужно знать (print - это функция и т.д.).

Ответ 3

Я нахожусь в Windows 10 с Python 3.5 и 2.7. Используя PowerShell, вот как я переключаюсь между версиями.

############################################################
# Switch to Python 2.7
############################################################

# Remove python 3.5 from PATH
$current_path = [Environment]::GetEnvironmentVariable("Path", "User")
$python3_path = "C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\;"
$new_path = $current_path.replace($python3_path, "")
[Environment]::SetEnvironmentVariable("Path", $new_path, "User")

# Add python 2.7 to PATH
# Run PowerShell as administrator
$current_path = [Environment]::GetEnvironmentVariable("Path", "Machine")
$python2_path = "C:\Python27\;C:\Python27\Scripts;"
$new_path = $python2_path + $current_path
[Environment]::SetEnvironmentVariable("Path", $new_path, "Machine")

# Restart PowerShell to see change

# Confirm change
python --version


############################################################
# Switch to Python 3.5
############################################################

# Remove python 2.7 from PATH
# Run PowerShell as administrator
$current_path = [Environment]::GetEnvironmentVariable("Path", "Machine")
$python2_path = "C:\Python27\;C:\Python27\Scripts;"
$new_path = $current_path.replace($python2_path, "")
[Environment]::SetEnvironmentVariable("Path", $new_path, "Machine")

# Add python 3.5 to PATH
$current_path = [Environment]::GetEnvironmentVariable("Path", "User")
$python3_path = "C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\;"
$new_path = $python3_path + $current_path
[Environment]::SetEnvironmentVariable("Path", $new_path, "User")

# Restart PowerShell to see change

# Confirm change
python --version

Обратите внимание, что вам нужно будет обновить пути, чтобы отразить ваши версии Python и профиль пользователя.

Ответ 4

Да, вы можете. На моей машине хотя бы (Vista), v2 и v3 имеют совершенно отдельные простоя, позволяющие мне запускать ту версию, которая мне нравится, когда мне это нравится. Итак, продолжайте и загрузите v3.

Ответ 5

Пара путей в системах * nix:

  • Установите в отдельные каталоги (например,/usr/local/python2 и /usr/local/python 3) и создайте ссылку (например,/usr/bin/python), которую вы измените, чтобы указать, какой исполняемый файл вы хотите использовать.
  • То же, что и выше, но настройте отдельные команды python (например,/usr/bin/python2 и /usr/bin/python 3) и вызовите их, когда вы хотите вызвать python. Или для команды python по умолчанию используется один из них и pythonN для другого (N = 2 или 3, в зависимости от того, что не является значением по умолчанию).

Ответ 6

В Windows 10 намного проще, чем пользователи, указанные выше.

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

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

Как переключаться между python 2 и 3

Например, в моем случае у меня есть две версии python one в anaconda (v3.0.6), а другая - python 2.7

В любое время, когда я хочу запустить 2.7, я перемещаю его путь выше версии anaconda, как вы можете видеть на скриншоте выше, и переместите его ниже, когда я хочу запустить версию anaconda.

Ответ 7

Вот мои 2 цента.

Если вы используете систему на основе unix (Ubuuntu и т.д.), и у вас есть python 2.x. Идем дальше и загружаем python 3.x из Python.org

После установки он создаст отдельный каталог python3

Вы закончили.

Для запуска программ с помощью python2.x используйте python filename.py

Чтобы запустить ваши программы с помощью python3.x, используйте python3 filename.py

Аналогично, для запуска интерпретатора python2.x и python 3.x используйте python и python3 соответственно.

Я вижу некоторые ответы, указывающие на virtualenv, я не думаю, что это то, о чем вы просили, virtualenv используется для изоляции среды Python.

Ответ 8

В Windows эта Python launcher может сделать это для вас.

В статье PEP говорится:

Разбор строки Shebang

Если первый аргумент командной строки не начинается с тире ('-')     символа, будет предпринята попытка открыть этот аргумент как файл     и анализируется для строки shebang согласно правилам в [1]::

#! interpreter [optional-arg]

Итак, просто добавьте shebang в начале вашего Python script, например:

#! python3
#coding=utf-8

import sys
print(sys.version)
...

Или вы можете передать параметр командной строки в пусковую установку py.exe:

C:\Users\Administrator>py -3 my_script.py

C:\Users\Administrator>py -2 my_script.py

Ответ 9

если вы используете Windows 10 и имеете python 2.x и 3.x.

  • открыть панель управления > система и безопасность > система
  • нажмите расширенные системные настройки.
  • щелкните переменные среды окружения.
  • щелкните путь и отредактируйте, а затем введите путь к версии python, которую вы хотите использовать выше, которую вы не хотите использовать [щелчком кнопки moveu Up]
  • перезапустить powershell.
  • python --version

Ответ 10

Я пробовал 6 решений до сих пор, например:

virtualenv --python=python py27env
mkvirtualenv --python=python3 py3env etc..

также с использованием пакета virtualenvwrapper и т.п. Ни один из них не работал.

У меня есть Python 3.6 и Python2.7 на моем компьютере с Windows 10, поэтому я переименовал C:\Python27\python.exe в python2.exe и C:\Python36\python.exe на python3.exe или вы даже можете использовать формат python36.exe. Конечно, C:\Python27, C:\Python27\Scripts, C:\Python36, C:\Python36\Scripts, добавленные в переменные среды PATH.

(1) Для python3 просто введите:

python3 -m virtualenv venv3

(2) Перейдите в папку venv, активируйте ее с помощью:

Scripts\activate.bat

(3) (venv3) показывает, что он активирован:

(venv3) [email protected] C:\Builts\venv3

(4), а затем проверьте, действительно ли это 3.6:

python --version

Python 3.6.0

Для python2:

python2 -m virtualenv venv2

Результат:

(venv2) [email protected] C:\Builts\venv2
python --version
Python 2.7.9

Надеюсь, это поможет.