【问题标题】:Default python /usr/bin/python instead of /usr/local/bin/python默认 python /usr/bin/python 而不是 /usr/local/bin/python
【发布时间】:2018-01-15 02:57:19
【问题描述】:

我的 CentOS 机器中同时安装了 python2.6 和 python2.7。 python2.6 安装在/usr/bin/python,我已经从源位置/usr/local/bin/python 安装了python2.7

安装后我的默认 python 在/usr/bin 更改为 python2.7 而不是 pythn2.6,我想在/usr/bin/python 使用 python 2.6。我已经尝试过以下事情,但没有任何效果。

  1. 我已经创建了符号链接并在/usr/bin指向python 2.6
  2. 我已在 .bash_profile 中修改了我的默认 python 路径,但仍然无法正常工作

请告诉我如何安装 python 2.7 和 2.6 以及 python 2.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/local/bin会出现在/usr/bin之前吗?
  • @BrettBeatty 是的,我该如何解决?
  • 我不知道这里的正确解决方案。这意味着您的计算机先在/usr/local/bin 中查找python,然后再查找/usr/bin。如果它只是指向/usr/local/bin/python2.7 的符号链接,它可能就像摆脱/usr/local/bin/python 一样简单。听起来你自己安装了 2.7,所以我认为它不应该破坏任何东西,但我对你的系统了解不够,无法确定。
  • 我现在可以删除 python2.7,我知道它会起作用,但我想同时使用两个版本,为此我必须重新安装它,同样的问题会出现
  • 如果/usr/local/bin/python/usr/local/bin/python2.7 的符号链接,则后者将是您的二进制文件。您可以分别使用python2.6python2.7 命令调用每个命令。摆脱符号链接所做的只是改变python 命令所引用的内容。 免责声明:我的 Ubuntu 和 MacOS 体验即将结束——我从未使用过 CentOS。

标签: python linux centos rhel


【解决方案1】:

我遇到了同样的问题。以下命令修复了它:

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

这将从/usr/local/bin/python 建立一个符号链接--> /usr/bin/python。引用自here

【讨论】:

    【解决方案2】:

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

    在 .bash_profile 添加:

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

    【讨论】:

    • 您可以发布您的 bash 个人资料吗?此外,编辑。应该是 python/python26
    【解决方案3】:

    感谢@brett-beatty,我已将/usr/local/bin/python 符号链接推荐给/usr/bin。编译器查看/usr/local/bin/usr/bin 并使用正确的版本也保持一致。

    【讨论】:

      猜你喜欢
      • 2021-06-08
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 2016-09-28
      • 2013-04-22
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      相关资源
      最近更新 更多