在CentOS上安装Python 2.6

88 投票
15 回答
191956 浏览
提问于 2025-04-15 14:32

我有一个运行CentOS的服务器。

为了我正在做的一个项目,我需要安装Python 2.5或更高版本,但CentOS系统比较依赖于2.4版本。

根据我了解到的信息,如果我把Python升级到2.5,很多东西可能会出问题。

我想把2.5版本单独安装,不和2.4版本冲突,但我不太确定该怎么做。目前我已经下载了源代码压缩包,解压后执行了./configure --prefix=/opt,这是我希望安装的目录。接下来我可以直接执行makemake install吗?还是说还有其他步骤?

15 个回答

29

当我遇到类似的情况时,我通常会避免使用包管理器,特别是当破坏某些东西会让我感到尴尬的时候,比如生产服务器。相反,我会去Activestate下载他们的二进制包:

https://www.activestate.com/activepython/downloads/

这个包是通过运行一个脚本来安装的,脚本会把所有东西放到一个文件夹里,并不会修改任何系统文件。实际上,你甚至不需要管理员权限就可以设置它。然后我会把这个二进制文件的名字改成像apy26这样的名字,把那个文件夹添加到PATH的末尾,然后就可以开始编写代码了。如果你用apy26 setup.py install来安装包,或者使用virtualenv和easyinstall,那么你就可以拥有一个灵活的Python环境,而不需要动系统自带的Python。

最近我做了一些工作,构建了一个可以在Linux上运行的便携式Python二进制文件,这个文件应该可以在任何发行版上运行,并且没有外部依赖。这意味着便携式Python模块所需的任何共享库都是构建的一部分,包含在压缩包里,并安装在Python的私有目录结构中。这样,你就可以为你的应用程序安装Python,而不会干扰系统自带的Python。

我的GitHub网站上有一个构建脚本,这个脚本在Ubuntu Lucid 10.04 LTS的32位和64位安装上经过了充分测试。我也在Debian Etch上构建过,但那是很久以前的事了,我不能保证没有改动过什么。最简单的方法是把你选择的Ubuntu Lucid放在虚拟机里,用git clone git://github.com/wavetossed/pybuild.git来获取脚本,然后运行这个脚本。

一旦你构建完成,就可以在任何最近的Linux发行版上使用这个压缩包。有一点需要注意的是,如果你把它移动到/data1/packages/python272以外的目录,你必须在移动目录之前运行包含的patchelf来设置解释器路径。这会影响到/data1/packages/python272/bin中的任何二进制文件。

所有这些都是基于使用RUNPATH构建和复制依赖的共享库。尽管脚本分成了几个文件,但实际上它就是一个很长的shell脚本,按照/etc/rc.d目录的风格排列。

32

试试epel

wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
sudo rpm -ivh epel-release-5-4.noarch.rpm
sudo yum install python26

你可以在 /usr/bin/python26 找到python这个程序

mkdir -p ~/bin
ln -s /usr/bin/python26 ~/bin/python
export PATH=~/bin:$PATH # Append this to your ~/.bash_profile for persistence

现在,输入 python 命令就会运行 python 2.6

80

你也可以使用 EPEL库,然后输入 sudo yum install python26 来安装 Python 2.6。

撰写回答