/usr/bin/python和/usr/local/bin/python的区别

9
在Linux上,特别是Debian Jessie系统中,我应该使用/usr/bin/python还是在/usr/local/bin安装另一个副本?
我知道前者是系统版本,当操作系统更新时它可能会更改。这意味着我可以独立于操作系统更新后者中的版本。由于我已经在使用python 3,我不认为这会有什么显著的实际差异。
还有其他使用本地版本的原因吗?
(我知道有大约42个关于如何在版本之间切换的SO问题,但我找不到任何关于为什么的问题)
2个回答

3
我不认为我会推荐这两种方法中的任何一种,而是建议使用virtualenv来进一步隔离Python实例。
使用特定的Python环境(无论是系统环境、本地环境还是虚拟环境)的最大原因是控制。您对环境和安装在其中的内容拥有的控制越多,您遇到由于您没有意识到引入的库而导致的错误的表面积就越小。如果它是一个虚拟环境,那么清理工作也更容易;只需在不再需要它时删除虚拟环境,而不是尝试卸载在系统级别安装的库。
不仅如此,越来越多的发行版正在将其脚本转换为使用Python 3。你在该环境下所做的越少,越好。
最后 - 只是一个通用的Shell脚本提示 - 我也鼓励使用/usr/bin/env python来确保您使用的是PATH上最常见的Python版本。

0

1) 你不应该直接修改系统的二进制文件

2) 如果你的$PATH变量中不包含/usr/local/bin,那么第二个目录的命名并不重要。你可以在任何安装了额外二进制文件的地方独立安装/升级。

3) 对于Python来说,你也可以使用conda/virtualenv通过系统的python来管理你的版本和项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接