当前位置: 首页>>技术问答>>正文


如何使’python’程序命令执行Python 3?

, ,

问题描述

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

次佳解决方法

[2016年6月]有关过渡信息的推荐位置是官方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.bash_aliases文件(包括~/.bash_profile在内的不同文件都加载在一起,仅用于组织目的)中添加一个别名。 Python virtual environments也很好。

如:

alias python=python3

要么

alias python='/usr/bin/python3'

然后脚本可以从类似如下开始:

#!/usr/bin/env python

代替

#!/usr/bin/python3

我仍然建议在脚本中使用#!/usr/bin/python3(或#!/usr/bin/env python3)以实现更简单的cross-compatibility。

使用env很适合与虚拟环境混合使用。

第三种解决方法

更新:我了解到,这是错误的方式,因为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版本。

第四种方法

Ubuntu以及其他Linux发行版在很大程度上依赖于Python 2.7的许多应用程序和命令。如果您将”python”的默认引用更改为Python 3.x,则许多Python函数将开始引发断言错误。

例如,在Ubuntu上,除非您直接编辑文件并将shebang更改为引用’#!/usr/bin/env python2.7’,否则’pip’将不再正确运行。在RHEL(红帽企业Linux)中,如Red Hat,Fedora和CentOS,’Yum’命令也依赖于Python 2.7。

我的要点是,你会导致大量的代码开始抛出断言错误,所以你可以在终端中输入’python’来引用Python 3.x.

在终端中使用’python3’命令以及在Python 3.x文件中使用shebang ‘#!/usr/bin/env python3’会更好。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/279.html,未经允许,请勿转载。