【问题标题】:Creating Python RPM创建 Python RPM
【发布时间】:2023-08-13 22:41:01
【问题描述】:

我一直在阅读有关为 Python 2.6.4 创建 RPM 的信息。在此页面中:http://docs.python.org/distutils/builtdist.html 它说您可以使用python setup.py bdist_rpm 创建当前 Python 的 RPM。我的问题是:

  • 是否必须在 Python 安装目录中键入此命令?
  • 此命令是否将您已安装的所有模块打包到 RPM 中?
  • 这是执行此操作的正确命令吗?
  • 还有其他建议可以让这更容易吗?

好的,我使用 checkinstall 解决了这个问题。

我从http://www.asic-linux.com.mx/~izto/checkinstall/下载了checkinstall

然后我安装了该软件包,但必须在我的 PATH 中输入 /usr/local/sbin/checkinstall 才能使其工作。然后我输入了下一个命令来启动我的 RPM 目录。

 yum install rpm-build

然后我cd进入Python模块并输入这个命令:

 checkinstall -R --nodoc --delspec=no  --exclude=/selinux python2.6 ./setup.py install

此命令替换命令checkinstall,因为您通过 setup.py 而不是普通的 make 安装 python 库。

然后我完成了checkinstall 流程。完成的 RPM 被放入 /usr/src/redhat/RPMS/i386/

注意:这是针对 LINUX RED HAT 的。

【问题讨论】:

    标签: python linux rpm rpmbuild checkinstall


    【解决方案1】:
    1. 无论您的setup.py 位于何处,都必须键入此命令。
    2. 它将出现在bdist tarball 中的所有内容打包。
    3. 错误...有点。虽然它有效,但它创建的包质量不是很高。最好使用 sdist_rpm,然后解压缩生成的 SRPM,然后将发行版的 Python packaging guidelines 应用于生成的规范文件。
    4. 首先通过bdist 让它工作。这样一来,出现的任何问题都将更易于管理。

    【讨论】:

      【解决方案2】:

      这些说明解释了如何为您的模块创建 RPM 包。据我所知,没有(简单的)方法可以将所有 Python 安装打包到 RPM 中。

      如果您想创建一个 RPM 包以在较旧的发行版上安装 Python 2.6.4,请下载 Python 2.6.4 源 RPM,然后使用 rpmbuild 重新构建它。见Fedora RPM Guide

      【讨论】: