CentOS:Python 和软件包的两个版本

CentOS: Two Versions of Python and Packages

我不是 Python 或 CentOS (CloudLinux 6.6 + WHM/cPanel) 专家,但我正在尝试在 CentOS 下安装 Python 的更新版本和一些额外的软件包并保持系统版本正常工作。

我设法让 Python 2.7 安装了:

yum groupinstall -y development
yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel    
wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz
tar xzf Python-2.7.6.tgz
cd Python-2.7.6
./configure --prefix=/usr/local
make
sudo make alt install

如果我 运行 python 我得到 Python 2.6.6 并且 python2.7 给我 Python 2.7.6。 Yum 似乎也能正常工作,所以我想我没有破坏系统。

现在,我的问题是,我需要在 Python 2.7 上安装 Twistd,它还需要 zope.interface

如何在 /usr/local 的 Python 2.7 安装中安装它们?

此外,如果我想 运行 设置一个 twistd 插件并 运行 它在 python 2.7 下,我应该怎么做?

谢谢。

我会为此使用 virtualenv。以下是您可以遵循的步骤:

  1. 安装virtualenv:

    sudo yum install virtualenv

    wget bootstrap.pypa.io/get-pip.py

    python get-pip.py --user

    pip 安装 virtualenv

  2. 为您的应用创建一个虚拟环境,并精确选择您要使用的 python 二进制文件:

    virtualenv -p /usr/local/bin/python2.7 ~/venv

  3. 激活它:

    来源~/venv/bin/activate

  4. 现在你进入了虚拟环境。您将要 运行 的每个 python 命令都将使用命令行中指定的 python2.7。您现在还可以使用 pip 安装 python 包(同样,仅在您的虚拟环境文件夹中):

    pip 安装 Twisted

依赖关系将自动处理。

请注意,您可能需要一些开发 rpm 包,因为 Twisted 需要一些 C 编译。