欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

python程序打包rpm包

程序员文章站 2022-06-26 08:25:15
python程序及其依赖包打包成rpm包部署 项目中要求将一个python脚本打包成rpm包,方便yum安装,研究了一遍,把其中的过程记录一下。 1.首先一个简单测试脚本 /usr/bin/env python coding=utf 8 print 'this is test' 这个脚本运行结果一目 ......

python程序及其依赖包打包成rpm包部署

项目中要求将一个python脚本打包成rpm包,方便yum安装,研究了一遍,把其中的过程记录一下。

1.首先一个简单测试脚本
#/usr/bin/env python
#-*- coding=utf-8 -*-
print 'this is test'

这个脚本运行结果一目了然。

2.安装pyinstaller

通过pip命令安装该组件:pip install pyinstaller

3.通过pyinstaller打包脚本及其依赖
pyinstaller -F test.py

将生成的dist目录下生成的test文件打包为test.tar文件

4.使用 rpmbuild 制作成rpm 包

安装rpmbuild 组件及生成相关目录

yum install rpmdevtools
yum install -y rpm-build
rpmdev-setuptree

以上命令运行成功后会在当前用户目录下生成rpmbuild目录,该目录会包含以下子目录

--BUILD #编译之前,如解压包后存放的路径
--BUILDROOT #编译后存放的路径
--RPMS #打包完成后rpm包存放的路径
--SOURCES #源包所放置的路径
--SPECS #spec文档放置的路径
--SPRMS #源码rpm包放置的路径

将3步骤生成的test.tar 文件考入SOURCES目录,编辑test.spec文件

Name:test
Version:1.0
Release:0%{?dist}
Summary: test

Group:test
License:GPL
Source0:test.tar
BuildRoot:%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
%description -l zh_CN
"the tools for test"
%prep
%setup -c -n test
%install
mkdir -p %{buildroot}/%{_usr}/bin
install test %{buildroot}/%{_usr}/bin/test1.0

%files
%doc
/%{_usr}/bin/test1.0

该文件中具体的含义后续会有文章具体解释。

运行命令

rpmbuild -ba SPECS/test.spec

命令成功后会在RPMS目录中生成相应的rpm包