我有一个具有 Flask 依赖项的 Python 应用程序。
我需要的只是从这个应用程序中创建一个 RPM,通过这个 RPM,我应该能够将依赖项安装到另一台机器上。
我尝试过的事情
- 创建了 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 中获取。
两个问题
- 我的方法正确吗?
- 如果是的话,我缺少什么?
最佳答案
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/