我正在建立一个基于 RHEL5 的新服务器,并想安装一些不附带的 python 模块。我已经看到 setuptools 可以选择从模块构建 RPM 包,但不幸的是,这只适用setup.py
于easy_install
. 但是,我想继续解决依赖关系,easy_install
这样手册setup.py
就不是一种选择。
你将如何解决这种情况?我想避免安装软件包,特别是因为来自 RHEL5 的 stock python默认情况下/usr/local
没有定义下面的 python 路径。/usr/local
如果您可以使用其他 RPM 存储库,一种选择是查看您要查找的 Python 包是否在 EPEL(企业 Linux 的额外包)存储库中可用。
参见http://fedoraproject.org/wiki/EPEL
首先,我尽量不安装任何东西,除非直接从操作系统发行版(Red Hat、Debian 等)——作为第一次尝试。当然,问题在于,特别是企业发行版,很多东西都不可用。
在这种情况下,我不会再依赖任何为我生成 RPM 的东西,仅仅因为它被打包在 RPM 中并不意味着它是好的。
我要做的(我所做的 :) 是编写规范文件,以便自己为这个 Python 模块创建一个包。
特别是使用设置工具...
这样您就可以完全控制安装位置。
简单且对 python 友好的方法是使用virtualenv。这有一个警告,只有在运行 source $HOME/.pystuff/bin/activate 命令后才可用,但它的好处是让你可以使用整个 Python 包世界,而对系统分发的污染最小。
显然,您可以搜索并构建自己的系统 python 包,但老实说,对于大多数用途来说,它比它的价值更麻烦。如果你要这样做,从 seutptools 和 virtualenv 开始,显然 =p