如何创建安装 python 依赖项的 RPM?

How to create a RPM which install python dependencies?

我有一个 python 应用程序依赖于 flask。

我只需要从这个应用程序创建一个 RPM,使用这个 RPM 我应该能够将依赖项安装到另一台机器上。

我尝试过的东西,

  1. 创建了一个 setup.py 文件,
setup(
    name='sample-package',
    version='1.0.0.0',
    author="Niranj Rajasekaran",
    author_email="nrajasekaran@test.com",
    package_dir={'': 'src/py'},
    namespace_packages=['main'],
    packages=find_packages('src/py/'),
    install_requires=['Flask']
)
  1. 运行 这个命令

    python setup.py bdist_rpm

  2. dist/ 中有两个 RPM,一个是 noarch,另一个是 src

  3. 我尝试使用这个安装 noarch rpm

    yum install {generated-file}.rpm

我可以在 site-packages 中获取 sample-package-1.0.0.0.egg 文件,但不能在烧瓶中获取。

两个问题,

  1. 我的方法正确吗?
  2. 如果是这样,我缺少什么?

bdist_rpm 缺少很多功能并且 IMO 维护得不是很好。例如。 pyp2rpm 对于转换现有的 PyPI 模块要好得多。但是您的模块似乎不在 PyPI 上,因此您需要手动将其指定为 bdist_rpm,因为它无法从 setup.py.

检索此信息

运行:

python setup.py bdist_rpm --requires python-flask

这将生成一个需要 python-flask 软件包的 rpm 文件。对于最近的 RHEL/Fedora,它将是 python3-flask