同一系统上安装了两个版本的 python 2.x

同一系统上安装了两个版本的 python 2.x

我正在使用 Fedora 21,不要问我为什么,但我在上面安装了两个版本的 Python 2.x。我可以看出我有两个不同的版本,因为当我用“python”从终端调用它时,我得到:

Python 2.7.9(默认,2017 年 2 月 18 日,17:18:34)

linux2 上的 [GCC 4.9.2 20150212 (Red Hat 4.9.2-6)]

输入“帮助”、“版权”、“制作人员”或“许可证”以获取更多信息。

我想补充一点,我用“python”调用的版本是“/usr/local/bin/python”。另一方面,当我用“/usr/bin/python”调用它时,我得到:

Python 2.7.8(默认,2015 年 9 月 24 日,18:25:44)

linux2 上的 [GCC 4.9.2 20150212 (Red Hat 4.9.2-6)]

输入“帮助”、“版权”、“制作人员”或“许可证”以获取更多信息。

最重要的是,他们似乎无法访问相同的库/模块。例如,如果我使用 SciPy 和“python”运行脚本,则会引发错误,而如果我使用“/usr/bin/python”运行脚本,则情况并非如此。

那么,如何摆脱使用“python”调用时正在运行的版本并保留使用“/usr/bin/python”调用的版本?此外,我想用一个简单的“python”来调用我当前使用“/usr/bin/python”调用的那个。

答案1

您可以尝试通过找出安装的 RPM 来删除 /usr/local/bin/python 下的那个:

rpm -f /usr/local/bin/python

一旦你有了一个版本,它就会被称为。

其他两个选项是:
a) 修改 PATH 变量,使 /usr/bin 位于 /usr/local/bin 之前
b) 将“python”别名为“/usr/bin/python”

答案2

没有真正的理由删除其中一个 Python(其他应用程序可能依赖于它)。

/usr/bin/python要默认使用,请确保它/usr/bin位于/usr/local/bin您的$PATH.

您可以使用以下命令进行调查echo $PATH,并且可以简单地添加/usr/bin到该值的前面

PATH="/usr/bin:$PATH"

在你的 shell 启动文件中。/usr/bin多次列出不是$PATH问题。

如果您编写 Python 脚本,只需确保 shebang-line 读取

#!/usr/bin/python

并且该脚本是可执行的。这将使其选择您想要的 Python 解释器。

相关内容