默认的Python是/usr/bin/python而不是/usr/local/bin/python

11
我在我的CentOS计算机上同时安装了Python2.6和Python2.7。Python2.6被安装在 /usr/bin/python,而我从源代码安装了Python2.7并将其安装在/usr/local/bin/python
安装后,我的默认Python版本更改为/usr/bin的Python2.7,但我想使用位于/usr/bin/python的Python2.6版本。我已经尝试过以下操作,但没有任何效果:
1.创建符号链接使其指向/usr/bin中的Python 2.6 2.修改我的.bash_profile中的默认Python路径,但仍然无法生效
请告诉我如何在安装有Python2.7的情况下保留Python2.6作为默认版本。在我的Arch Linux计算机上,这个操作是可行的,但在CentOS上似乎不奏效。
附上我的.bash_profile内容:
# .bash_profile

export _BASH_PROFILE=1

# Get the aliases and functions
if [ -z "$_BASHRC" ]; then
        . ~/.bashrc
fi

unset _BASH_PROFILE

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME=""

export USERNAME BASH_ENV PATH

export user=$(/usr/bin/whoami)
export WK_PORT=8086
export WK_PATH=ADC

# For DEV accounts change PYDOC_PORT value to 7400 + webkit number. For
# example WK23 would be port number 7423
export PYDOC_PORT=7464


alias serve="python -m SimpleHTTPServer"


unset _BASH_PROFILE

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME=""

export USERNAME BASH_ENV PATH

export user=$(/usr/bin/whoami)
export WK_PORT=8086
export WK_PATH=ADC

# For DEV accounts change PYDOC_PORT value to 7400 + webkit number. For
# example WK23 would be port number 7423
export PYDOC_PORT=7464


alias serve="python -m SimpleHTTPServer"


PYTHONPATH="$PYTHONPATH:/usr/bin/python"

如果你回显 $PATH 环境变量,是否会在 /usr/bin 之前出现 /usr/local/bin? - Brett Beatty
@BrettBeatty 是的,它有问题,我该怎么修复? - binu.py
我不知道这里的正确解决方案。这意味着你的计算机在查找python时会先查找/usr/local/bin,然后再查找/usr/bin。如果/usr/local/bin/python只是一个指向/usr/local/bin/python2.7的符号链接,那么可能很简单,只需摆脱它即可。听起来像是你自己安装了2.7版本,所以我认为它不应该破坏任何东西,但我对你的系统了解不够,不能确定。 - Brett Beatty
我现在可以删除Python2.7,我知道这样做会起作用,但是我想同时使用两个版本,为此我必须重新安装它,然后同样的问题会出现。 - binu.py
如果/usr/local/bin/python是一个符号链接到/usr/local/bin/python2.7,那么后者将是您的二进制文件。您可以分别使用python2.6python2.7命令调用它们。摆脱符号链接所做的所有事情就是更改由python命令引用的内容。 免责声明:我根据自己在Ubuntu和MacOS上的经验进行操作--我从未使用过CentOS。 - Brett Beatty
3个回答

14

我有同样的问题。以下命令解决了它:

sudo ln -sf /usr/bin/python /usr/local/bin/python

这将从/usr/local/bin/python创建一个符号链接 -> /usr/bin/python。参考自此处


这确实解决了问题。 - jamie

0
感谢 @brett-beatty,我将符号链接 /usr/local/bin/python 重定向到 /usr/bin。编译器在查找时首先进入 /usr/local/bin,然后转到 /usr/bin 并使用正确的版本,保持一致性。

0

你可以使用别名将命令python指向2.6文件夹,将python27指向2.7,如下所示:

在.bash_profile中添加:

alias python=/usr/bin/python/<python executable name>

你能发布你的bash配置文件吗?同时,修改后应该是python/python26。 - Owen Hempel

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