CentOS 6.4 上适用于 python 2.7 的 Python-devel

CentOS 6.4 上适用于 python 2.7 的 Python-devel

好的,我想在 CentOS 的生产 VPS 上运行 django web 应用程序。应用程序代码是使用 Python 2.7 编写的。

我已经按照以下步骤安装了 Python 2.7 并配置了虚拟环境指导。但是因为我打算使用 MySQL 作为数据库并用于其他目的,所以我必须安装包python-devel。我尝试使用

yum 安装 python-devel

并获得了适用于旧版本 Python 的软件包。我该如何为 Python v. 2.7 安装此软件包?如果我覆盖标准 Python,则系统的几个软件包(例如 yum)将被损坏。请告诉我如何解决这个问题。

更新 有关版本的信息:

  • CentOS 6.4
  • Django 1.4
  • Python 2.7.3
  • MySQL 14.14

答案1

恐怕你的问题毫无意义。你从源代码构建了 Python,并将其安装在另一个位置(/usr/local/bin如果链接的文章正确的话)。一旦你从源代码构建,你就完全背离了包管理的foo惯例foo-devel。或者,简而言之,没有python-devel从源代码构建的安装。

但是您将在构建过程中安装必要的库;它们可能位于 中/usr/local/lib。为了使用这些库,需要指示您要编译的每个新软件,以优先于标准系统库来查找新的 Python 库。有时,将/usr/local/binfirst 放在路径中,以便运行时python选择新版本,这就足够了;有时,会有一个环境变量指示构建在某个位置查找(例如export PYTHON_LIBDIR=/usr/local/lib;有时,会有一个配置标志(例如./configure --python-libs=/usr/local/lib)。它会因构建而异,您必须对每个构建进行试验。

如果您认为这很痛苦,那么您是对的;软件打包系统在过去 20 年里变得非常流行是有原因的;通过从源代码手工构建一个主要的系统组件,您就回到了 90 年代初 - 祝你好运!

答案2

为什么不使用 IUS 存储库来安装新的 python 版本,您可以安装 2.7 和 3.3,并且它们不会覆盖现有的 python 安装(就像 yum 使用的一样)。

http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/

请注意,其中的包名为 python27,而不是 python-2.7。

答案3

我不愿意翻出旧帖,但人们仍在经历这个过程,所以我会插话。。Rajat 发布的过程在某种意义上是正确的。如果您安装了“dev tools”组并且还 altinstall 了 python2.7.3,那么您就走在了正确的轨道上。

您必须运行yum install python-devel,它将安装 2.6。这是正常的。继续安装您需要的任何其他 python 库/模块。(我不能说它们都以这种方式工作)现在返回到您解压 python gzip 的位置并重新运行:

# ./configure --prefix=/usr/local
# make && make altinstall

我想说努力获取pipeasy_install设置 2.7 以使以后的软件包安装更容易一些。

这也适用于 2.7.5。

答案4

安装开发工具

 # yum groupinstall "Development tools"
 # yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

下载并安装 Python

# wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
# tar xf Python-2.7.3.tar.bz2
# cd Python-2.7.3
# ./configure --prefix=/usr/local
# make && make altinstall

使用上述步骤我已经在 Cent OS 6.3 上安装了 python 2.7

相关内容