Python程序打包rpm包,python程序打包rpm包

By admin in 美高梅手机版4858 on 2019年4月4日

python程序及其依赖包打包成rpm包计划

品种中供给将三个python脚本打包成rpm包,方便yum安装,研讨了1回,把内部的进程记录一下。

Python程序及其信赖包打包成rpm包安顿

偶然为了布署本人的包更有益于一些,大家会打造本人的OdysseyPM包,制作奥迪Q三PM包都有如何步骤呢,学习这几个手续正是本文的目标。在CentOS下制作LX570PM包注重rpm-build这些包,所以须要超前设置好该软件包。

奇迹为了安顿本身的包更有利于一些,大家会构建自个儿的TiggoPM包,制作福特ExplorerPM包都有啥样步骤呢,学习这几个步骤正是本文的目标。在CentOS下制作卡宴PM包正视rpm-build那几个包,所以供给提前安装好该软件包。

一.率先二个差不离测试脚本
#/usr/bin/env python
#-*- coding=utf-8 -*-
print 'this is test'

本条本子运营结果一目通晓。

体系中须要将叁个python脚本打包成rpm包,方便yum安装,商讨了一回,把里面包车型大巴历程记录一下。

瑞鹰PM生成因素

昂CoraPM生成因素

2.安装pyinstaller

经过pip命令安装该零件:pip install pyinstaller

1.先是四个简约测试脚本
#/usr/bin/env python
#-*- coding=utf-8 -*-
print ‘this is test’

  1. 生成rpm所用的文书列表大概源代码
  2. 依据文件列表恐怕源代码生成rpm规范,也正是spec文件
  3. 据悉spec文件加工源码/文件的工具rpmbuild
  1. 生成rpm所用的文书列表或许源代码
  2. 据说文件列表大概源代码生成rpm规范,也正是spec文件
  3. 基于spec文件加工源码/文件的工具rpmbuild
三.经过pyinstaller打包脚本及其信赖
pyinstaller -F test.py

将转移的dist目录下转移的test文件打包为test.tar文件

其壹本子运维结果一目通晓。

在RedHat下,rpm包的默许制作路径在/usr/src/redhat下:

在RedHat下,rpm包的暗许制作路径在/usr/src/redhat下:

4.使用 rpmbuild 制作成rpm 包

安装rpmbuild 组件及变更相关目录

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

上述命令运营成功后会在脚下用户目录下生成rpmbuild目录,该目录会包蕴以下子目录

–BUILD #编写翻译在此以前,如解压包后存放在的不2诀要
–BUILDROOT #编写翻译后存放的路径
–RPMS #包装实现后rpm包存放的门路
Python程序打包rpm包,python程序打包rpm包。–SOURCES #源包所放置的路线
–SPECS #spec文书档案放置的不2秘诀
–SPRMS #源码rpm包放置的路径

将三步骤生成的test.tar 文件考入SOU瑞虎CES目录,编辑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

指令成功后会在ENCOREPMS目录中变化对应的rpm包

2.安装pyinstaller

/usr/src/redhat
–BUILD #编写翻译此前,如解压包后存放在的路线
–BUILDROOT #编写翻译后存放的不二等秘书籍
–RPMS #卷入完成后rpm包存放的路径
–SOURCES #源包所放置的门路
–SPECS #spec文书档案放置的路线
–SPRMS #源码rpm包放置的路子

/usr/src/redhat
–BUILD #编写翻译在此之前,如解压包后寄放的途径
–BUILDROOT #编写翻译后存放的门径
–RPMS #装进落成后rpm包存放的门道
–SOURCES #源包所放置的路子
–SPECS #spec文书档案放置的途径
–SPRMS #源码rpm包放置的路径

因而pip命令安装该零件:pip install pyinstaller

centos并不曾该目录,那可怎么办,其实在尤其目摄像作rpm是未曾关系的,只要设置好布局文件就行。一般大家都把源码打包成tar.gz格式然后存放于SOU景逸SUVCES路径下,而在SPECS路径下编写制定spec文书档案,通过命令打包后,暗中同意会把包装后的rpm包放在奥迪Q5PMS下,而源码包会被停放在S中华VPMS下。

centos并不曾该目录,那可怎么做,其实在万分目录像作rpm是尚未涉及的,只要设置好布局文件就行。一般大家都把源码打包成tar.gz格式然后存放于SOU卡宴CES路径下,而在SPECS路径下编写制定spec文书档案,通过命令打包后,暗中认可会把包装后的rpm包放在揽胜极光PMS下,而源码包会被停放在SBMWX五PMS下。

三.经过pyinstaller打包脚本及其注重
pyinstaller -F test.py

先看看rpmbuild命令的用法:

先看看rpmbuild命令的用法:

将扭转的dist目录下转移的test文件打包为test.tar文件

一 从spec文书档案建立有以下选项:

1 从spec文书档案建立有以下选项:

4.使用 rpmbuild 制作成rpm 包

-bp  #只进行spec的%pre 段(解开源码包并打补丁,即只做准备)
-bc  #施行spec的%pre和%build 段(准备并编写翻译)
-bi  #进行spec中%pre,%build与%install(准备,编写翻译并安装)
-bl  #检查spec中的%file段(查看文件是或不是齐备)
-ba  #确立源码与贰进制包(常用)
-bb  #只建立2进制包(常用)
-bs  #只建立源码包

-bp  #只举行spec的%pre 段(解开源码包并打补丁,即只做准备)
-bc  #推行spec的%pre和%build 段(准备并编写翻译)
-bi  #执行spec中%pre,%build与%install(准备,编写翻译并设置)
-bl  #自作者批评spec中的%file段(查看文件是还是不是齐全)
-ba  #建立源码与二进制包(常用)
-bb  #只建立二进制包(常用)
-bs  #只建立源码包

设置rpmbuild 组件及变化相关目录
yum install rpmdevtools
yum install -y rpm-build
rpmdev-setuptree

2 从tarball包建立,与spec类似

2 从tarball包建立,与spec类似

如上命令运维成功后会在眼下用户目录下生成rpmbuild目录,该目录会包蕴以下子目录

-tp #对应-bp
-tc #对应-bc
-ti #对应-bi
-ta #对应-ba
-tb #对应-bb
-ts #对应-bs

-tp #对应-bp
-tc #对应-bc
-ti #对应-bi
-ta #对应-ba
-tb #对应-bb
-ts #对应-bs

–BUILD #编译在此以前,如解压包后寄放的门道
–BUILDROOT #编写翻译后存放的路子
–RPMS #包装实现后rpm包存放的途径
–SOURCES #源包所放置的门径
–SPECS #spec文书档案放置的门道
–SPRMS #源码rpm包放置的路线

三 从源码包建立

三 从源码包建立

将3手续生成的test.tar 文件考入SOURubiconCES目录,编辑test.spec文件
Name:test
Version:1.0
Release:0%{?dist}
Summary: test

–rebuild  #创立二进制包,通-bb
美高梅手机版4858 ,–recompile  #同-bi

–rebuild  #确立二进制包,通-bb
–recompile  #同-bi

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

* rpmbuild的任何参数

* rpmbuild的其余参数

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

–buildroot=DIRECTORY  #规定以root目录建立包
–clean  #做到打包后去掉BUILD下的文件目录
–nobuild  #不进行%build的阶段
–nodeps  #不检查建立包时的关联文件
–nodirtokens
–rmsource  #成就打包后去掉SOU冠道CES
–rmspec #形成打包后去掉SPEC
–short-cricuit
–target=CPU-VENDOR-OS #显明包的末段利用平台

–buildroot=DIRECTORY  #分明以root目录建立包
–clean  #形成打包后去掉BUILD下的文件目录
–nobuild  #不进行%build的阶段
–nodeps  #不反省建立包时的关系文件
–nodirtokens
–rmsource  #成功打包后去掉SOUPRADOCES
–rmspec #形成打包后去掉SPEC
–short-cricuit
–target=CPU-VENDOR-OS #显明包的最终采纳平台

该文件中切实的意思后续会有成文具体表达。

制作自个儿的rpm包

连带阅读:

运营命令
rpmbuild -ba SPECS/test.spec

Linux 下rpm安装后的目录结构和部分布署

营造本人的rpm包
http://www.linuxidc.com/Linux/2013-06/86435.htm

指令成功后会在KugaPMS目录中生成对应的rpm包

rpm与yum的综合性介绍与示范演示

Linux 下rpm安装后的目录结构和部分配备
http://www.linuxidc.com/Linux/2013-06/85761.htm

Linux公社的RSS地址:

Redhat Linux—rpm 命令详解

rpm与yum的综合性介绍与示范演示
http://www.linuxidc.com/Linux/2013-05/84480.htm

本文永久更新链接地址

  • 1
  • 2
  • 下一页

Redhat Linux—rpm 命令详解
http://www.linuxidc.com/Linux/2013-03/81971.htm

美高梅手机版4858 1

美高梅手机版4858 2

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有