`python3` 总是与 Python 3 一起安装吗?
is `python3` always installed with Python 3?
我通常以 shebang 行开始我的所有脚本
#!/usr/bin/env python
但是我们的生产服务器默认 Python 2 python
,而我们所有的新脚本和程序都是在 Python 3 下构建的。帮助防止人们意外运行使用默认的脚本 Python 2,我正在考虑从现在开始将我所有的 shebang 切换到这个;
#!/usr/bin/env python3
在我们的服务器上,python3
确实指向Python3,我们的基本脚本会运行正确地指向它。但是我不清楚这是否特定于我们的安装,或者如果安装了 Python 3,python3
是否 总是 可用?
我知道这可能不会帮助 运行s $ python myscript.py
的用户,当加载默认 Python 时,但它总比没有好,并且足够清楚地让用户检查脚本的人意识到他们使用了错误的 Python 版本。尽管现在我也意识到,随着 Python 出现在 3.8 版中,Python 4 迫在眉睫……与此同时,我不确定我是否准备好在每个脚本中嵌入代码以检查 Python >= 3 是否已加载...
我相信 python 3 版本只安装 python3
如果已经安装了 python 的另一个版本,无论它是 python 2 还是python 3 版本,因为标准 python
命令将无法在新版本的 python 上正常工作。
如有错误请指正!
是的,这是一个安全的选择。
PEP 394 recommends Python 3 be available under the binary name python3
and most Linux distributions follow this recommendation. In fact, this is the only name under which Python 3 has been available in most distributions (the only outlier being Arch Linux, but even that also provides a python3
binary), and plans to make the ‘plain’ python
binary also refer to Python 3 have only been made quite recently. The article ‘Revisiting PEP 394’ LWN.net 上有更多详细信息。
我通常以 shebang 行开始我的所有脚本
#!/usr/bin/env python
但是我们的生产服务器默认 Python 2 python
,而我们所有的新脚本和程序都是在 Python 3 下构建的。帮助防止人们意外运行使用默认的脚本 Python 2,我正在考虑从现在开始将我所有的 shebang 切换到这个;
#!/usr/bin/env python3
在我们的服务器上,python3
确实指向Python3,我们的基本脚本会运行正确地指向它。但是我不清楚这是否特定于我们的安装,或者如果安装了 Python 3,python3
是否 总是 可用?
我知道这可能不会帮助 运行s $ python myscript.py
的用户,当加载默认 Python 时,但它总比没有好,并且足够清楚地让用户检查脚本的人意识到他们使用了错误的 Python 版本。尽管现在我也意识到,随着 Python 出现在 3.8 版中,Python 4 迫在眉睫……与此同时,我不确定我是否准备好在每个脚本中嵌入代码以检查 Python >= 3 是否已加载...
我相信 python 3 版本只安装 python3
如果已经安装了 python 的另一个版本,无论它是 python 2 还是python 3 版本,因为标准 python
命令将无法在新版本的 python 上正常工作。
如有错误请指正!
是的,这是一个安全的选择。
PEP 394 recommends Python 3 be available under the binary name python3
and most Linux distributions follow this recommendation. In fact, this is the only name under which Python 3 has been available in most distributions (the only outlier being Arch Linux, but even that also provides a python3
binary), and plans to make the ‘plain’ python
binary also refer to Python 3 have only been made quite recently. The article ‘Revisiting PEP 394’ LWN.net 上有更多详细信息。