如何在 rpm 构建中包含 pip 包
How to include pip packages in an rpm build
我想在 rpm
包中包含 Python 包依赖项(使用 pip3 install
安装)。我无法使用 dnf
安装,因为它的版本已过时。 rpm
returns 如果我使用 pip3 install
安装依赖项会出现以下错误:
error: Failed dependencies python3.6dist(dependency-package)
关于如何在 rpm
中包含 Python 包有什么建议吗?
好的。您的某些包裹需要 python3-somepackage
或 python3dist(somepackage)
。对于 rpm,它只是一个字符串。 Rpm 不关心 python 模块是否已使用 pip 安装。必须有一些包提供该字符串。
你有两个选择。
首选使用 pyp2rpm --srpm somepackage
。这将从 PyPI 下载最新版本的模块并生成 src.rpm。然后您可以使用 mock -r epel-8-x86_64 somepackage.src.rpm
构建它
另一种选择是伪造供应。您可以使用 pip 安装模块,然后 运行: create-fake-rpm --build python3-somepackage 'python3dist(somepackage)'
。这将生成文件 fake-python3-somepackage-0-0.noarch.rpm
,您可以使用 rpm 安装该文件。然后您可以继续安装您的应用程序。请注意,这是作弊。以后dnf upgrade
不会更新这个模块,你得自己处理。
我想在 rpm
包中包含 Python 包依赖项(使用 pip3 install
安装)。我无法使用 dnf
安装,因为它的版本已过时。 rpm
returns 如果我使用 pip3 install
安装依赖项会出现以下错误:
error: Failed dependencies python3.6dist(dependency-package)
关于如何在 rpm
中包含 Python 包有什么建议吗?
好的。您的某些包裹需要 python3-somepackage
或 python3dist(somepackage)
。对于 rpm,它只是一个字符串。 Rpm 不关心 python 模块是否已使用 pip 安装。必须有一些包提供该字符串。
你有两个选择。
首选使用 pyp2rpm --srpm somepackage
。这将从 PyPI 下载最新版本的模块并生成 src.rpm。然后您可以使用 mock -r epel-8-x86_64 somepackage.src.rpm
另一种选择是伪造供应。您可以使用 pip 安装模块,然后 运行: create-fake-rpm --build python3-somepackage 'python3dist(somepackage)'
。这将生成文件 fake-python3-somepackage-0-0.noarch.rpm
,您可以使用 rpm 安装该文件。然后您可以继续安装您的应用程序。请注意,这是作弊。以后dnf upgrade
不会更新这个模块,你得自己处理。