如何将RPM spec文件依赖项转换为Python setup.py?

如何将RPM spec文件依赖项转换为Python setup.py?,python,rpm,packaging,distutils,rpm-spec,Python,Rpm,Packaging,Distutils,Rpm Spec,基本上,我正在将一个程序从RPM打包移植到使用setup.py将其打包为轮子。我的核心问题是,是否存在一些关于如何进行这种转换的指南或工具 关键问题是,我正在寻找将RPM的spec文件指定的依赖项转换为setup.py的方法,但无法在线找到有关如何进行转换的任何信息。任何答案都可能取决于构建RPM的发行版。一种通用的,尽管是手动的方法,可以从rpm-q--requires$PACKAGE开始,但是由于您已经有了spec文件,您可以简单地rpmspec-q--requires*spec来获得相同的

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


关键问题是,我正在寻找将RPM的spec文件指定的依赖项转换为setup.py的方法,但无法在线找到有关如何进行转换的任何信息。

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

您确定RPM最初不是在
setup.py
的帮助下生成的吗。大多数作为rpm分发的python包都(曾经?)使用
python setup.py bdist\u rpm
。这并不能保证在您开始使用的RPM中有一个
setup.py
,但您至少应该将其解包一看。是的,我可以访问源代码,没有setup.py文件,它是使用规范文件与RPM打包的遗留代码。考虑到您可以在RPM中使用(预)安装脚本的灵活性,我认为你找不到通用的解决方案。也许你可以发布
.spec
(或精简版)的内容,这样熟悉RPM和
setup.py
的人就有机会想出一些“翻译规则”