python-2.7 - 如何创建一个安装 python 依赖项的 RPM?

标签 python-2.7 rpm rpmbuild rpm-spec centos5

我有一个具有 Flask 依赖项的 Python 应用程序。

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

我尝试过的事情

  1. 创建了 setup.py 文件,
setup(
    name='sample-package',
    version='1.0.0.0',
    author="Niranj Rajasekaran",
    author_email="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b8d6cad9d2d9cbddd3d9cad9d6f8ccddcbcc96dbd7d5" rel="noreferrer noopener nofollow">[email protected]</a>",
    package_dir={'': 'src/py'},
    namespace_packages=['main'],
    packages=find_packages('src/py/'),
    install_requires=['Flask']
)
  • 运行此命令

    python setup.py bdist_rpm

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

  • 我尝试使用此安装 noarch rpm

    yum install {生成文件}.rpm

  • 我能够在 site-packages 中获取 sample-package-1.0.0.0.egg 文件,但不能在 Flask 中获取。

    两个问题

    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

    关于python-2.7 - 如何创建一个安装 python 依赖项的 RPM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59388901/

    相关文章:

    类和实例变量的 Python 引用

    java - codehaus 消失后 maven-rpm-plugin 文档在哪里

    linux - RPM 构建总是从 ~/rpmbuild 中获取文件吗?

    linux - RPM 规范文件 - 如何在 %pre 脚本中获取 rpm 包位置

    python - 在 python2 中编译 bz2 支持

    python-2.7 - 使用 sklearn KDTree Clusterint 2D 点

    gradle - 星云ospackage不遵守dirMode

    linux - rpmbuild 失败并显示 "files must begin with/"消息

    linux - 我正在尝试使用 SPEC 文件创建自定义 RPM。

    Python SciPy 索引错误 : the length of bounds is not compatible with that of x0