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包
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx