文章插图
导读:pyp2rpm 使得创建 RPM 包的过程更加自动化 。
本文字数:4940,阅读时长大约: 5分钟
pyp2rpm 使得创建 RPM 包的过程更加自动化 。
当你安装一个应用程序时,你通常是在安装一个软件包,其中包含应用程序的可执行代码和重要文件,如文档、图标等 。在 linux上,软件一般被打包成 RPM 或 DEB 等格式,用户只要通过
dnf
或者apt
等命令就可以进行安装了,这取决于你使用的 Linux 发行版 。然而几乎每天都有新的 Python/ target=_blank class=infotextkey>Python 模块发布,因此你很容易遇到一个尚未打包的 Python 模块 。这就是pyp2rpm
存在的意义了 。最近我在尝试安装一个叫
python-concentration
的模块,但是进展并不太顺利:【4 步打包一个新的 Python 模块】
-
$ sudo dnf install python-concentration
-
Updating Subscription Management repositories.
-
Last metadata expiration check: 1:23:32 ago on Sat 11 Jun 2022 06:37:25.
-
No match for argument: python-concentration
-
Error: Unable to find a match: python-concentration
虽然这是一个发布在 PyPi 的包,但它仍不能被打包成 RPM 包 。好消息是你可以使用
pyp2rpm
以一个相对简单的过程将它打包成 RPM 包 。首先你需要设置两个目录:
-
$ mkdir rpmbuild
-
$ cd rpmbuild && mkdir SPECS
像这样去安装
pyp2rpm
:-
$ sudo dnf install pyp2rpm
1、生成 spec 文件
RPM 包的基础是一种 spec 文件,这个文件包含你创建这个包的所有信息,如所需的依赖关系、应用的版本号、安装的文件等信息 。当指向某个 Python 模块时,
pyp2rpm
会为它构建一个 spec 文件,你可以用它来创建 RPM 包 。下面以
python-concentration
为例演示如何构建一个 spec 文件:-
$ pyp2rpm concentration > ~/rpmbuild/SPECS/concentration.spec
下面是它生成的文件:
-
# Created by pyp2rpm-3.3.8
-
%global pypi_name concentration
-
%global pypi_version 1.1.5
-
-
Name: python-%{pypi_name}
-
Version: %{pypi_version}
-
Release: 1%{?dist}
-
Summary: Get work done when you need to, goof off when you don't
-
-
License: None
-
URL: None
-
Source0: %{pypi_source}
-
BuildArch: noarch
-
-
BuildRequires: python3-devel
-
BuildRequires: python3dist(setuptools)
-
-
%description
-
Concentration [![PyPI version]( [![Test Status]( [![Lint Status]( [![codecov](
-
-
推荐阅读
- Windows Server 2022 服务器安装步骤
- 小米|首发1399元!米家走步机扶手版今日开售:超小占地面积、可折叠
- 周华健|周华健现身美国小饭馆,偶遇他的幸运网友,获得一个本人签名
- 英雄联盟|《英雄联盟》S12赛程时间公布:一个好消息、一个坏消息
- 国行主机|涨价不到一个月:国行PS5光驱版主机突然降回原价
- 第一款奢侈品包买什么好 人生第一个奢侈品包应该买什么
- 跑步|跑步三个月,每天3至5公里,为什么体重一点没掉?
- 如何让一个自卑的孩子变得自信
- 最简单的易经算卦步骤 怎么用易经算卦
- 宋史寇准传中寇准是一个什么样的人?宋对辽称臣