【问题标题】:Change default Python version from 2.4 to 2.6将默认 Python 版本从 2.4 更改为 2.6
【发布时间】:2011-03-21 08:26:51
【问题描述】:

我想使用一些需要 Python 2.6 的较新软件,我们目前在专用 CentOS 服务器上安装了 2.42.6,如下所示:

$ which python
/usr/local/bin/python
$ which python2.6
/usr/bin/python2.6
$ which python2.4
/usr/local/bin/python2.4
$ ls -l /usr/local/bin/py*
-rwxr-xr-x 1 root root      81 Aug  9  2007 /usr/local/bin/pydoc
-rwxr-xr-x 2 root root 3394082 Aug  9  2007 /usr/local/bin/python
-rwxr-xr-x 2 root root 3394082 Aug  9  2007 /usr/local/bin/python2.4

如何将其切换为开始使用2.6 作为默认python

【问题讨论】:

  • 这是 3 年后问的,适用于 2.7 而不是 2.6,所以它不是重复的。
  • 但我认为它有一个更好的答案,并且讨论的版本并不是无关紧要的——事实上你有两个,并且想要更改默认值。 " 你可能实际上并不想改变你的默认 Python ......最重要的是,使用 /usr/bin 可能会破坏你的包管理器管理包的能力。 " - 那与您遇到的任何版本问题不同,并说明为什么最高投票的答案没有提供足够的信息。另外,大概是您希望人们指出最新的答案,因此日期也无关紧要。

标签: python linux version


【解决方案1】:

作为根:

ln -sf /usr/bin/python2.6 /usr/local/bin/python

这将从 /usr/local/bin/python 建立一个符号链接 --> /usr/bin/python2.6 (替换旧的硬链接)。

【讨论】:

  • 根据问题2.6在/usr/bin
  • 如果它似乎不起作用(我在 SLC5 上注意到),请尝试注销/登录
  • 但是你仍然有 sudo 的问题,我认为这个答案并不完整。使用:update-alternatives --config python 看到这篇文章:codeghar.wordpress.com/2009/01/27/update-alternatives-in-debian
  • roman,此解决方案不适用于任何情况下的任何操作系统。例如,更改 Ubuntu 中的默认 Python 可能会破坏您的系统,因为软件包更新可能会将更新放在您的替代 python 找不到它们的地方。对于这个特定问题,OP 的默认 Python 位于 /usr/local,因此它不是操作系统默认安装。因此将其更改为指向 /usr/bin/python2.6 是安全的。另请注意,update-alternatives 在 /usr/bin 中添加了符号链接。如果他的默认值在 /usr/local 中,那么在 /usr/bin 中添加符号链接不会有什么不同。
  • 为了清楚起见,我会将其设为符号链接而不是硬链接。
【解决方案2】:

rm /usr/local/bin/python
ln -s /usr/local/bin/python2.6 /usr/local/bin/python

【讨论】:

  • 这对我有用,但我使用了 /usr/local/bin/python2.6 而不是 /usr/bin/python2.6! :)
【解决方案3】:

作为替代方案,您也可以在 bash shell 的启动文件中为命令“python”添加别名。

所以打开启动文件: emacs ~/.bashrc

在编辑器中添加: 别名“python”“python2.6”

然后重新启动 shell。

【讨论】:

    【解决方案4】:

    我在使用 meld 时遇到了类似的问题,我只是在 local 下重命名了一个,它就可以了。我知道这不是一个好的解决方案,但我总是可以收回它。

    sudo mv /usr/local/bin/python /usr/local/bin/re_python
    

    【讨论】:

      【解决方案5】:

      在 bash shell 的启动文件中为命令“python”添加别名不要从 /usr/bin/python 更改符号链接,因为更改默认 Python(例如在 Ubuntu 或 Linux Mint 中)可能会破坏您的系统

      P.S.:阅读其他答案

      【讨论】:

        【解决方案6】:

        在 CentOS 中

        ln -sf /usr/local/bin/python2.6 /usr/local/bin/python
        ln -sf /usr/local/bin/python2.6 /usr/bin/python
        

        查看版本:

        python -V
        

        然后要修复 yum “没有名为 yum 的模块”,你应该这样做:

        vi `which yum`
        

        并将#!/usr/bin/python修改为#!/usr/bin/python2.4

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-10
          • 1970-01-01
          • 1970-01-01
          • 2011-08-16
          • 2014-07-18
          • 2020-11-19
          相关资源
          最近更新 更多