Как изменить версию python по умолчанию?

Я установил python 3.2 в своем mac. После того, как я запустил /Applications/Python 3.2/Update Shell Profile.command, это сбивает с толку, что при вводе python -V в Terminal говорится, что Python 2.6.1, как я могу изменить версию python по умолчанию?

Ответ 1

Это, вероятно, желательно для обратной совместимости.

Python3 прерывает обратную совместимость, а программы, вызывающие "python", вероятно, ожидают python2. У вас, вероятно, есть много программ и скриптов, о которых вы даже не подозреваете, чего ожидать python = python2, а изменение этого приведет к поломке этих программ и скриптов.

Ответ, который вы, вероятно, ищете, - Вы не должны изменять этот.

Однако вы можете создать пользовательский псевдоним в своей оболочке. То, как вы это делаете, зависит от оболочки, но, возможно, вы могли бы сделать alias py=python3

Если вы запутались в том, как запустить последнюю версию python, по крайней мере, в Linux это означает, что python3 оставляет вашу установку python2 неповрежденной (из-за вышеуказанных причин совместимости); таким образом, вы можете запустить python3 с помощью команды python3.

Ответ 2

В Mac OS X с помощью установщика python.org, как вам кажется, вам нужно вызвать Python 3 с python3, а не python. Это в настоящее время зарезервировано для версий Python 2. Вы также можете использовать python3.2, чтобы специально вызвать эту версию.

$ which python
/usr/bin/python
$ which python3
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3
$ cd /Library/Frameworks/Python.framework/Versions/3.2/bin/
$ ls -l
total 384
lrwxr-xr-x  1 root  admin      8 Apr 28 15:51 [email protected] -> 2to3-3.2
-rwxrwxr-x  1 root  admin    140 Feb 20 11:14 2to3-3.2*
lrwxr-xr-x  1 root  admin      7 Apr 28 15:51 [email protected] -> idle3.2
-rwxrwxr-x  1 root  admin    138 Feb 20 11:14 idle3.2*
lrwxr-xr-x  1 root  admin      8 Apr 28 15:51 [email protected] -> pydoc3.2
-rwxrwxr-x  1 root  admin    123 Feb 20 11:14 pydoc3.2*
-rwxrwxr-x  2 root  admin  25624 Feb 20 11:14 python3*
lrwxr-xr-x  1 root  admin     12 Apr 28 15:51 [email protected] -> python3.2-32
lrwxr-xr-x  1 root  admin     16 Apr 28 15:51 [email protected] -> python3.2-config
-rwxrwxr-x  2 root  admin  25624 Feb 20 11:14 python3.2*
-rwxrwxr-x  1 root  admin  13964 Feb 20 11:14 python3.2-32*
lrwxr-xr-x  1 root  admin     17 Apr 28 15:51 [email protected] -> python3.2m-config
-rwxrwxr-x  1 root  admin  25784 Feb 20 11:14 python3.2m*
-rwxrwxr-x  1 root  admin   1865 Feb 20 11:14 python3.2m-config*
lrwxr-xr-x  1 root  admin     10 Apr 28 15:51 [email protected] -> pythonw3.2
lrwxr-xr-x  1 root  admin     13 Apr 28 15:51 [email protected] -> pythonw3.2-32
-rwxrwxr-x  1 root  admin  25624 Feb 20 11:14 pythonw3.2*
-rwxrwxr-x  1 root  admin  13964 Feb 20 11:14 pythonw3.2-32*

Если вы также установили Python 2 из python.org, у него будет аналогичный каталог bin bin без перекрывающихся имен файлов (кроме 2to3).

$ open /Applications/Python\ 2.7/Update\ Shell\ Profile.command
$ sh -l
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ which python3
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3
$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ cd /Library/Frameworks/Python.framework/Versions/2.7/bin
$ ls -l
total 288
-rwxrwxr-x  1 root  admin    150 Jul  3  2010 2to3*
lrwxr-x---  1 root  admin      7 Nov  8 23:14 [email protected] -> idle2.7
-rwxrwxr-x  1 root  admin    138 Jul  3  2010 idle2.7*
lrwxr-x---  1 root  admin      8 Nov  8 23:14 [email protected] -> pydoc2.7
-rwxrwxr-x  1 root  admin    123 Jul  3  2010 pydoc2.7*
lrwxr-x---  1 root  admin      9 Nov  8 23:14 [email protected] -> python2.7
lrwxr-x---  1 root  admin     16 Nov  8 23:14 [email protected] -> python2.7-config
-rwxrwxr-x  1 root  admin  33764 Jul  3  2010 python2.7*
-rwxrwxr-x  1 root  admin   1663 Jul  3  2010 python2.7-config*
lrwxr-x---  1 root  admin     10 Nov  8 23:14 [email protected] -> pythonw2.7
-rwxrwxr-x  1 root  admin  33764 Jul  3  2010 pythonw2.7*
lrwxr-x---  1 root  admin     11 Nov  8 23:14 [email protected] -> smtpd2.7.py
-rwxrwxr-x  1 root  admin  18272 Jul  3  2010 smtpd2.7.py*

Ответ 3

Проверьте расположение питона 3

$ which python3
/usr/local/bin/python3

Написать псевдоним в bash_profile

vi ~/.bash_profile  
alias python='/usr/local/bin/python3'

Перезагрузить bash_profile

source ~/.bash_profile

Подтвердите команду python

$ python --version
Python 3.6.5

Ответ 4

Старый вопрос, но альтернативно:

virtualenv --python=python3.5 .venv
source .venv/bin/activate

Ответ 5

Измените "Python" по умолчанию, поставив его перед системой Python на вашем пути, например:

export PATH=/usr/local/bin:$PATH

Ответ 6

Делай правильно, делай правильно!

---> Ноль Откройте свой терминал,

--Firstly входной python -V, скорее всего, показывает:

Python 2.7.10

-Secondly input python3 -V, вероятно, показывает:

Python 3.7.2

--Thirdly вход, where python или which python, скорее всего, показывает:

/usr/bin/python

---Fourthly ввод, where python3 или which python3, вероятно, показывает:

/usr/local/bin/python3

--Fifthly добавьте следующую строку внизу файла переменной среды PATH в файле ~/.profile file or ~/.bash_profile в Bash или ~/.zshrc в zsh.

alias python='/usr/local/bin/python3'

ИЛИ ЖЕ

alias python=python3

-Sixthly source ~/.bash_profile ввода source ~/.bash_profile под Bash или source ~/.zshrc под zsh.

--Seventhly Выйти из терминала.

---Eighthly Откройте свой терминал и python -V Вероятно, он показывает:

Python 3.7.2

Я успешно попробовал.

Другие, ~/.bash_profile в zsh - это не ~/.bash_profile.

Переменная окружения PATH в zsh вместо ~/.profile (или ~/.bash_file) через ~/.zshrc.

Помогите вам, ребята!

Ответ 7

В соответствии с быстрым поиском google это обновление относится только к текущей оболочке, которую вы открыли. Вероятно, это можно исправить, набрав python3, так как mac и linux достаточно похожи, чтобы подобные вещи совпадали. Ссылка на результат поиска Google.

Кроме того, как заявлял ninjagecko, большинство программ еще не обновлено до 3.x, поэтому, поскольку python по умолчанию, как 3.x, может сломать многие скрипты python, используемые в приложениях.

Ответ 8

Я использую OS X 10.7.5 и Python 3.4.2. Если вы наберете python3 и что вы хотите запустить, он запустит его с помощью python 3. Например pyhton3 test001.py. Это провело тестовую программу, которую я сделал под названием test001. Надеюсь, это поможет.

Ответ 9

Перейдите к:

Мой компьютер → Свойства → Дополнительно → Переменные среды → Системные переменные

Предположим, вы уже добавили python 2.7 в переменную path и хотите изменить путь по умолчанию на python 3.x

затем добавьте путь к папке python3.5.x перед путем python2.7.

открытый cmd: тип "python --version"

версия Python будет изменена на Python 3.5.x

Ответ 10

sudo mv /usr/bin/python /usr/bin/python2
sudo ln -s $(which python3) /usr/bin/python

Это сломает сценарии, но это точно способ изменить Python. Вы также должны переписать сценарии, чтобы не предполагать, что python - 2.x. Это будет работать независимо от того, куда вы звоните system или exec.