当“which python”没有显示python的位置时我该怎么办?

当“which python”没有显示python的位置时我该怎么办?

which python什么都不显示。以下命令修复了此问题

/usr/bin$ sudo ln -s python3 python

但这是一个常见且安全的解决方案吗?

which python
/usr/bin/python

答案1

不,这根本不安全,也不常见。

  • 历史上pythonpython2,而不是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目前还是不建议事后再进行更改。

相关内容