程序python
命令执行的是Python2,使用python3
命令可以执行Python3,如何使用命令执行Python3 python
?
答案1
您可以安装系统范围的软件包:
$ sudo apt install python-is-python3
参见注意事项: Ubuntu 20.04 中的 python-is-python3 包——它是什么,它实际上做什么?
一种简单安全的方法是使用别名。将其放入~/.bashrc
或~/.bash_aliases
文件中:
alias python=python3
在文件中添加以上内容后,运行source ~/.bashrc
或source ~/.bash_aliases
。
例如:
$ 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
要在当前 shell 中禁用别名,请使用unalias
内置命令:
$ unalias python
$ python --version
Python 2.7.6
答案2
[2016 年 6 月]有关过渡的信息的推荐来源是官方Ubuntu Python页。
来自Ubuntu 维基百科:
对于 Ubuntu 和 Debian,我们有正在进行项目目标使 Python 3 成为发行版中默认的、首选的 Python 版本。
这是什么才不是意思是:
由于其他包依赖关系,不建议更改符号链接,但他们“有正在进行的项目目标,使 Python 3 成为发行版中默认的、首选的 Python 版本”。
对于 CLI 使用,例如@Radu Rădeanu,我建议在用户的~/.bashrc
,.bash_aliases
文件中放置一个别名(不同的文件,包括~/.bash_profile
,至少加载一次,主要是为了组织目的,但可能因平台而异)。Python虚拟环境也运行良好。
别名示例:
alias python=python3
或者
alias python='/usr/bin/python3'
脚本仍应使用类似的东西#!/usr/bin/env python3
来实现跨兼容性。
env
非常适合与虚拟环境混合使用。
注意(感谢@wjandrea):别名是 bash 运行时的一部分,而不是用户环境的一部分。因此,它们不适用于 shebang(#!
)。如果您更喜欢别名 python=python3,那么program.py
可以通过像这样调用别名解释器来执行一些没有 shebang 的解释器python program.py
。对于具有多个版本的 python3(如 3.4 和 3.6 同时存在)的系统,别名可能也很有用。
答案3
更新:据我所知,这是错误的方法,因为 Python2 和 Python3 不能互换。
您可以尝试命令行工具update-alternatives
。
$ sudo update-alternatives --config python
如果出现错误“没有适用于 python 的替代方案”,请使用以下命令自行设置替代方案:
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
将路径更改/usr/bin/python3
为您想要的 Python 版本。
答案4
做
cd ~
gedit .bash_aliases
然后写
alias python=python3
或者
alias python='/usr/bin/python3'
保存文件,关闭终端并重新打开。
关联