Командная программа python
выполняет Python 2. Python 3 можно выполнить с помощью команды python3
. Как выполнить Python 3 с помощью команды python
?
Командная программа python
выполняет Python 2. Python 3 можно выполнить с помощью команды python3
. Как выполнить Python 3 с помощью команды python
?
Простым безопасным способом было бы использовать псевдоним. Поместите это в файл ~/.bashrc
или ~/.bash_aliases
:
alias python=python3
После добавления вышеуказанного в файл выполните следующую команду:
source ~/.bash_aliases or source ~/.bashrc
Например:
$ python --version
Python 2.7.6
$ python3 --version
Python 3.4.3
$ alias python=python3
$ python --version
Python 3.4.3
Чтобы обойти псевдоним, используйте встроенную команду command
:
$ command python --version
Python 2.7.6
Другим способом обойти псевдоним является использование \
перед командой. Р>
$ \python --version
Python 2.7.6
Чтобы отключить псевдоним в текущей оболочке, используйте встроенную команду unalias
:
$ unalias python
$ python --version
Python 2.7.6
[Июнь 2016] Рекомендуемое место для информации о переходе - официальная страница Ubuntu Python .
Из Ubuntu wiki :
For both Ubuntu and Debian, we have ongoing project goals to make Python 3 the default, preferred Python version in the distros.
What this does not mean:
/usr/bin/python
will point to Python 3. No, this is not going to happen (unless PEP 394 advocates otherwise, which is doubtful for the foreseeable future)./usr/bin/python
and/usr/bin/python2
will point to Python 2.7 and/usr/bin/python3
will point to the latest supported Python 3 version.Python 2 will be removed from the archive. No, this is not going to happen. We expect Python 2.7 to remain supported and available in Ubuntu for quite a long time, given that PEP 373 promises upstream bug fix maintenance support until 2020.
Не рекомендуется менять символическую ссылку из-за других зависимостей пакета, но они «имеют текущие цели проекта, чтобы сделать Python 3 по умолчанию, предпочтительной версией Python в дистрибутивах».
Для использования CLI, например @Radu Rădeanu , я бы рекомендовал поместить псевдоним в% пользователя ~/.bashrc
,% Файл co_de% (разные файлы, в том числе .bash_aliases
, загружаются хотя бы один раз, в основном для организационных целей, но могут варьироваться в зависимости от платформы). Python виртуальные среды также хорошо работают.
Примеры псевдонимов:
alias python=python3
или
alias python='/usr/bin/python3'
Сценарии должны использовать что-то вроде ~/.bash_profile
для кросс-совместимости. Р>
Использование #!/usr/bin/env python3
приятно для смешанного использования с виртуальными средами.
Примечание (спасибо @wjandrea): псевдонимы являются частью среды исполнения bash, а не среды пользователя. Поэтому они недоступны для shebang ( env
). Если вы предпочитаете псевдоним python = python3, то некоторые #!
без shebang могут быть выполнены путем вызова интерпретатора с псевдонимом, такого как program.py
. Алиасирование также может быть полезно для систем с несколькими версиями python3, таких как 3.4 и 3.6.
Вы можете попробовать инструмент командной строки update-alternatives
.
$ sudo update-alternatives --config python
Если вы получите ошибку «нет альтернатив для python», тогда настройте альтернативу со следующей командой:
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
Измените путь /usr/bin/python3
на нужную версию python соответственно.
Ubuntu и остальные дистрибутивы Linux по-прежнему в значительной степени зависят от Python 2.7 для ряда приложений и команд. Если вы измените ссылку по умолчанию на «python» на Python 3.x, то некоторые функции Python начнут металировать ошибки утверждения.
Например, в Ubuntu «pip» для одного больше не будет работать правильно, если вы не отредактировали файл напрямую и не изменили shebang на ссылку «#! / usr / bin / env python2.7». В RHEL (Red Hat Enterprise Linux), таких как Red Hat, Fedora и CentOS, команда Yum также зависит от Python 2.7.
Моя точка зрения заключается в том, что вы бы заставили значительную часть кода начать бросать ошибки утверждения, чтобы вы могли набирать «python» в терминале для ссылки на Python 3.x.
Вам гораздо лучше использовать команду «python3» в терминале и shebang «#! / usr / bin / env python3» в ваших файлах Python 3.x.
Do
cd ~
gedit .bash_aliases
, то напишите либо
alias python=python3
или
alias python='/usr/bin/python3'
Сохраните файл, закройте терминал и откройте его снова.
Ссылка
Вы можете использовать update-alternatives
для предоставления различных версий программ, которые могут потребоваться в разное время из-за проблем с совместимостью.
Этот ответ Является хорошим примером того, как настроить вещи для одновременного поддержания например, разные версии gcc / g ++. Р>
просто выполните то же самое с python2.7 и python 3.3
cat > /usr/local/bin/py
#!/usr/bin/dash
python3 "[email protected]"
<CTRL-D>
(если у вас есть разрешение на запись в / usr / local / bin) также
cat > /usr/local/bin/pyi
#!/usr/bin/dash
python3 -i "[email protected]"
<CTRL-D>
, то вы только набираете py (и используете py в #! lines) для выбранного вами python.
Вы можете символически ссылаться на /usr/bin/python
на python3
с помощью
sudo ln -s /usr/bin/python3 /usr/bin/python
См. другие ответы, почему вы не можете этого делать. Ubuntu 18.04 больше не поставляется с Python 2, поэтому не должно быть слишком плохо.