将 python2.7 符号链接到 python 的陷阱?

将 python2.7 符号链接到 python 的陷阱?

我有一台 CentOS 6.7 机器,并通过 RPM 安装了“系统”python (2.6.6) /usr/bin/python。我们安装了一个从源代码安装的附加版本 (2.7.11),用于开发目的,安装在/usr/local/bin/python2.7.

/usr/local/bin/python创建指向的 符号链接有什么坏处吗/usr/local/bin/python2.7?我的印象是“不”,因为任何想要使用系统 python 的程序都会正确设置其路径来执行此操作,但我不确定。

答案1

如果您的程序不进行硬编码/usr/bin/python,但例如使用

#!/usr/bin/env python

如果在环境中/usr/local/bin发生这种情况,可能会给您带来麻烦。/usr/bin

我的建议是你根本不应该安装 python /usr/local/bin,而应该安装在/opt/python/2.7.11.任何需要 python 的程序都应该使用以下命令进入它们自己的 virtualenv:

virtualenv -p /opt/python/2.7.11/bin/python /path/for/2_7_utility

这样,这些实用程序之间就不会有版本依赖性问题,并且不会影响旧系统 python。

如果有人想python解决,/opt/python/2.7.11/bin/python他们应该添加一个别名来执行此操作。

相关内容