【问题标题】:How to convert RPM spec file dependencies to Python setup.py?如何将 RPM 规范文件依赖项转换为 Python setup.py?
【发布时间】:2017-06-21 13:37:02
【问题描述】:

基本上,我正在将一个程序从使用 RPM 打包到使用 setup.py 将其打包为轮子。我的核心问题是是否存在一些关于如何进行这种转换的指南或工具。

关键问题是我希望将 RPM 的规范文件指定的依赖项转换为 setup.py,但在网上找不到任何有关如何执行此操作的信息。

【问题讨论】:

  • 您确定 RPM 最初不是在 setup.py 的帮助下制作的。大多数作为 RPM 分发的 python 包都(曾经?)使用python setup.py bdist_rpm。这并不能保证在您开始使用的 RPM 中有一个 setup.py,但您至少应该解压它并查看它。
  • 是的,我可以访问源代码,没有 setup.py 文件,它是使用规范文件与 RPM 一起打包的遗留代码。
  • 鉴于您可以在 RPM 中使用(预)安装脚本的灵活性,我认为您不会找到通用的解决方案。或许你可以把.spec(或者精简版)的内容贴出来,让这里熟悉RPM和setup.py的人有机会想出一些“翻译规则”

标签: python rpm packaging distutils rpm-spec


【解决方案1】:

任何答案都可能取决于构建 rpm 的发行版。一个通用的,虽然是手动的方法,会从 rpm -q --requires $PACKAGE 开始,但由于你已经有了规范文件,你可以简单地 rpmspec -q --requires *spec 获得相同的信息。查找提供 Python 资源的包,例如 python3-requests。您需要将这些中的每一个都转换为 Python 包名称,例如,'requests' 用于您的 setup.py。您可能会发现rpm -q --provides python3-requests 在这一步很有用;也许不会。

【讨论】:

    猜你喜欢
    • 2018-12-04
    • 2014-03-24
    • 2021-07-27
    • 2019-07-01
    • 2013-07-17
    • 2021-02-02
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多