如何创建安装 python 依赖项的 RPM?
How to create a RPM which install python dependencies?
我有一个 python 应用程序依赖于 flask。
我只需要从这个应用程序创建一个 RPM,使用这个 RPM 我应该能够将依赖项安装到另一台机器上。
我尝试过的东西,
- 创建了一个 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']
)
运行 这个命令
python setup.py bdist_rpm
在 dist/
中有两个 RPM,一个是 noarch,另一个是 src
我尝试使用这个安装 noarch rpm
yum install {generated-file}.rpm
我可以在 site-packages
中获取 sample-package-1.0.0.0.egg
文件,但不能在烧瓶中获取。
两个问题,
- 我的方法正确吗?
- 如果是这样,我缺少什么?
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 应用程序依赖于 flask。
我只需要从这个应用程序创建一个 RPM,使用这个 RPM 我应该能够将依赖项安装到另一台机器上。
我尝试过的东西,
- 创建了一个 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']
)
运行 这个命令
python setup.py bdist_rpm
在
dist/
中有两个 RPM,一个是 noarch,另一个是 src我尝试使用这个安装 noarch rpm
yum install {generated-file}.rpm
我可以在 site-packages
中获取 sample-package-1.0.0.0.egg
文件,但不能在烧瓶中获取。
两个问题,
- 我的方法正确吗?
- 如果是这样,我缺少什么?
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
。