如何在 rpm 构建中包含 pip 包

4 python pip rpm rpmbuild rpm-spec

我想pip3 install在包中包含 Python 包依赖项(使用 安装)rpm。我无法安装使用,dnf因为它的版本已过时。rpm如果我使用以下命令安装依赖项,则会返回以下错误pip3 install

error: Failed dependencies python3.6dist(dependency-package)
Run Code Online (Sandbox Code Playgroud)

关于如何在 中包含 Python 包有什么建议吗rpm

msu*_*chy 5

好的。您的某些软件包需要python3-somepackagepython3dist(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不会更新此模块,您必须自己处理。