我正在使用 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 解释器。