【问题标题】:CentOS: Two Versions of Python and PackagesCentOS:Python 和软件包的两个版本
【发布时间】:2015-01-18 16:51:03
【问题描述】:

我不是 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 下运行它,我应该怎么做?

谢谢。

【问题讨论】:

  • 安装后,/usr/local/bin 是否有easy_install 或pip?如果只有前者你可以/usr/local/bin/easy_install pip,一旦你有pip,/usr/local/bin/pip install zope.interface &c 应该会有所帮助。如果您没有easy_install,请参阅pypi.python.org/pypi/setuptools,使用python2.7,这些说明仅使用python。
  • 这个问题越来越老了,但这里有一个相关的 StackOverflow 问答,其中安装了四个不同版本的 python 和 pip SO Question。使用 python 时,虚拟环境仍然是首选方法。

标签: python python-2.7 twisted multiple-versions


【解决方案1】:

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

  1. 安装virtualenv:

    sudo yum install virtualenv

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

    python get-pip.py --user

    pip 安装虚拟环境

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

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

  3. 激活它:

    来源 ~/venv/bin/activate

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

    pip install Twisted

依赖将被自动处理。

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

【讨论】:

  • No package virtualenv available. :(我猜基于CentOS的CloudLinux没有这个...
  • 如果您没有安装 pip,我建议您按照此处 (pip.pypa.io/en/latest/installing.html) 的说明安装它,然后“sudo pip install virtualenv”。然后继续剩下的步骤,应该没问题。
  • 工作就像一个魅力!非常感谢!!
  • 你能不能用 1. 替换成:wget bootstrap.pypa.io/get-pip.py; python get-pip.py --no-index --find-links=/local/copies; python get-pip.py --user;这样其他使用 CloudLinux/CentOS 的用户可以轻松受益;)
  • 不客气。 :) 你确定你需要两个 python get-pip.py 命令吗?也许只有“python get-pip.py”就足够了,或者只有 --user 标志的命令?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-27
  • 1970-01-01
  • 2013-06-20
  • 2015-11-22
  • 2012-05-21
  • 1970-01-01
  • 2011-04-12
相关资源
最近更新 更多