如何将Python打包为RPM以安装到/opt?

5 投票
2 回答
6151 浏览
提问于 2025-04-17 05:31

如何从Python 2.7.2的源代码创建一个二进制的RPM包,以便安装到一个非标准的目录,比如/opt/python27?

假设以下内容可以正确构建。

wget http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz
tar zxvf Python-2.7.2.tgz
cd Python-2.7.2
./configure --prefix=/opt/python27 --enable-shared
make
make test
sudo make install

我想用一个二进制RPM包来替代最后一个命令。

2 个回答

2

现在回复可能有点晚了,但我之前也想做类似的事情,我不想用 --relocate,因为我的软件包只能安装到 /opt 这个地方。

我做的方法是添加了以下两行:

 Prefix: /opt
 %define _prefix /opt/

别忘了,你还需要更新你的 %files 部分,以反映它现在是安装在 /opt 里。

4

RPM包是通过使用 rpmbuild 工具,从一个叫做 .spec 的文件中创建的。举个例子,可以看看 Fedora中的python.spec 文件。

如果你不需要从源代码构建,那么可以尝试在你所使用的发行版上,对一个已经构建好的RPM包使用 rpm 的 --relocate 选项:

rpm -i --relocate /usr=/opt/python27 python-2.7.rpm

撰写回答