Python程序打包rpm包

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包

相关推荐