该python程序命令执行的Python 2. Python 3中可以使用来执行python3命令。如何使用python命令执行 Python 3 ?
Rad*_*anu 577
您可以安装系统范围的软件包:
$ sudo apt install python-is-python3
Run Code Online (Sandbox Code Playgroud)
请参阅警告: Ubuntu 20.04 中的 python-is-python3 包 - 它是什么,它实际上有什么作用?
一个简单安全的方法是使用别名。将其放入~/.bashrc或~/.bash_aliases归档:
alias python=python3
Run Code Online (Sandbox Code Playgroud)
在文件中添加以上内容后,运行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
Run Code Online (Sandbox Code Playgroud)
要绕过别名,请使用command内置命令:
$ command python --version
Python 2.7.6
Run Code Online (Sandbox Code Playgroud)
另一种绕过别名的方法是\在命令之前使用。
$ \python --version
Python 2.7.6
Run Code Online (Sandbox Code Playgroud)
要在当前 shell 中禁用别名,请使用unalias内置命令:
$ unalias python
$ python --version
Python 2.7.6
Run Code Online (Sandbox Code Playgroud)
Bor*_*ris 105
在Ubuntu 20.04+ 上只需安装python-is-python3软件包:
sudo apt install python-is-python3
Run Code Online (Sandbox Code Playgroud)
最重要的是,您可以使用以下命令阻止 Python 2 将来作为某些内容的依赖项安装apt-mark hold:
sudo apt-mark hold python2 python2-minimal python2.7 python2.7-minimal libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
Run Code Online (Sandbox Code Playgroud)
Kev*_*vin 101
[2016 年 6 月]推荐的转换信息的地方是官方的Ubuntu Python页面。
对于 Ubuntu 和 Debian,我们有持续的项目目标,使 Python 3 成为发行版中默认的首选 Python 版本。
这不是什么意思:
由于其他包依赖关系,不建议更改符号链接,但他们“有持续的项目目标,使 Python 3 成为发行版中默认的首选 Python 版本”。
对于 CLI 使用,如@Radu R?deanu,我建议在用户的~/.bashrc,.bash_aliases文件中放置一个别名(不同的文件,包括~/.bash_profile,至少加载一次,主要用于组织目的,但可能因平台而异)。Python虚拟环境也运行良好。
别名示例:
alias python=python3
Run Code Online (Sandbox Code Playgroud)
或者
alias python='/usr/bin/python3'
Run Code Online (Sandbox Code Playgroud)
脚本仍然应该使用类似的东西#!/usr/bin/env python3来实现交叉兼容性。
使用env非常适合与虚拟环境混合使用。
注意(感谢@wjandrea):别名是 bash 运行时的一部分,而不是用户环境。因此,它们对shebang ( #!)不可用。如果您更喜欢别名 python=python3,那么program.py可以通过像这样调用别名解释器来执行一些没有 shebang 的操作python program.py。别名对于具有多个版本的 python3(例如 3.4 和 3.6)的系统也很有用。
web*_*rst 49
你可以试试命令行工具update-alternatives。
$ sudo update-alternatives --config python
Run Code Online (Sandbox Code Playgroud)
如果您收到错误“python 无替代方案”,请使用以下命令自行设置替代方案:
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
Run Code Online (Sandbox Code Playgroud)
相应地将路径更改为/usr/bin/python3所需的 python 版本。
小智 11
Ubuntu 和其他 Linux 发行版仍然在很大程度上依赖 Python 2.7 来处理许多应用程序和命令。如果将“python”的默认引用更改为 Python 3.x,那么许多 Python 函数将开始抛出断言错误。
例如,在 Ubuntu 上,除非您直接编辑文件并将 shebang 更改为引用 '#!/usr/bin/env python2.7',否则 'pip' 将不再正确运行。在 Red Hat、Fedora 和 CentOS 等 RHEL(Red Hat Enterprise Linux)风格上,“Yum”命令也依赖于 Python 2.7。
我的观点是,您会导致大量代码开始抛出断言错误,以便您可以在终端中键入“python”以引用 Python 3.x。
在终端中使用 'python3' 命令和在 Python 3.x 文件中使用 shebang '#!/usr/bin/env python3' 会更好。
做
cd ~
gedit .bash_aliases
Run Code Online (Sandbox Code Playgroud)
然后写
alias python=python3
Run Code Online (Sandbox Code Playgroud)
或者
alias python='/usr/bin/python3'
Run Code Online (Sandbox Code Playgroud)
保存文件,关闭终端并再次打开它。
关联
| 归档时间: |
|
| 查看次数: |
1114685 次 |
| 最近记录: |