which python
什么都不显示。以下命令修复了此问题
/usr/bin$ sudo ln -s python3 python
但这是一个常见且安全的解决方案吗?
which python
/usr/bin/python
答案1
不,这根本不安全,也不常见。
- 历史上
python
指python2
,而不是python3
- 如果使用 py3 解释器运行,许多 python(2) 脚本将会崩溃
- 反之亦然:如果使用 py2 解释器运行,许多 py3 脚本将会中断。
- 不存在优雅的失败 - 使用错误的解释器运行的脚本只会抛出一系列神秘的错误然后退出。
看PEP 394了解有关“python”命令应符号链接到的内容的所有详细信息。不要停留在 8 年前的第一段,阅读整个历史部分,看看这些建议是如何随着时间的推移而改变的。
Ubuntu 的旧版本(16.04 及更早版本)默认安装 Python2 和 Python3。更改python
这些版本可能会严重破坏您的系统。
较新版本的 Ubuntu(18.04 及更新版本)默认安装仅包含 Python3。但是,安装 Python2 并不困难 ( sudo apt install python2
)。
Python2 将于 2020 年终止生命周期PEP 373。不过python
目前还是不建议事后再进行更改。