首页 > 解决方案 > 如何创建一个安装 python 依赖项的 RPM?

问题描述

我有一个具有烧瓶依赖性的 python 应用程序。

我所需要的只是从这个应用程序中创建一个 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. 有两个 RPM dist/,一个是 noarch,另一个是 src

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

    yum install {generated-file}.rpm

我可以输入sample-package-1.0.0.0.egg文件,site-packages但不能输入烧瓶。

两个问题,

  1. 我的方法正确吗?
  2. 如果是这样,我错过了什么?

标签: python-2.7rpmrpmbuildrpm-speccentos5

解决方案


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.


推荐阅读