python程序及其依赖包打包成rpm包安排

种类中供给将一个python脚本打包成rpm包,方便yum安装,钻探了3遍,把内部的进程记录一下。

Python程序及其重视包打包成rpm包陈设

神蹟为了安排本人的包更有利于一些,大家会营造自个儿的RPM包,制作RPM包都有啥样步骤呢,学习这一个步骤就是本文的目标。在CentOS下制作RPM包重视rpm-build这么些包,所以需求提前安装好该软件包。

偶然为了布置本人的包更便于一些,大家会塑造本身的RPM包,制作RPM包都有哪些步骤呢,学习这个手续正是本文的目的。在CentOS下制作RPM包依赖rpm-build那么些包,所以须要提前安装好该软件包。

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

以此剧本运营结果一览无余。

项目中须要将三个python脚本打包成rpm包,方便yum安装,研讨了二次,把内部的历程记录一下。

RPM生成因素

RPM生成因素

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 #编写翻译以前,如解压包后寄放的门道
–BUILDROOT #编写翻译后存放的门路
–RPMS #打包落成后rpm包存放的路线
–SOURCES #源包所放置的门路
–SPECS #spec文书档案放置的门道
–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

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

2.安装pyinstaller

/usr/src/redhat
–BUILD #编写翻译在此以前,如解压包后存放在的路子
–BUILDROOT #编写翻译后存放的路径
–RPMS #装进完毕后rpm包存放的不二秘籍
–SOURCES #源包所放置的路径
–SPECS #澳门金沙国际 ,spec文书档案放置的门路
–SPRMS #源码rpm包放置的门道

/usr/src/redhat
–BUILD #Python程序打包rpm包,python程序打包rpm包。编译在此之前,如解压包后存放在的不二等秘书诀
–BUILDROOT #编写翻译后存放的路线
–RPMS #包装达成后rpm包存放的门路
–SOURCES #源包所放置的路径
–SPECS #spec文书档案放置的渠道
–SPRMS #源码rpm包放置的门路

透过pip命令安装该器件:pip install pyinstaller

centos并从未该目录,那可如何是好,其实在那些目摄像作rpm是未有关联的,只要设置好安插文件就行。一般大家都把源码打包成tar.gz格式然后存放于SOU大切诺基CES路线下,而在SPECS路径下编写制定spec文档,通过命令打包后,暗许会把包裹后的rpm包放在RPMS下,而源码包会被放置在SRPMS下。

centos并从未该目录,这可怎么办,其实在充足目摄像作rpm是从未有过关系的,只要设置好安插文件就行。一般我们都把源码打包成tar.gz格式然后存放于SOUOdysseyCES路线下,而在SPECS路径下编制spec文书档案,通过命令打包后,私下认可会把包装后的rpm包放在RPMS下,而源码包会被停放在SRPMS下。

叁.由此pyinstaller打包脚本及其注重
pyinstaller -F test.py

先看看rpmbuild命令的用法:

先看看rpmbuild命令的用法:

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

一 从spec文书档案营造有以下选项:

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

4.使用 rpmbuild 制作成rpm 包

-bp  #只进行spec的%pre 段(解开源码包并打补丁,即只做希图)
-bc  #实行spec的%pre和%build 段(打算并编译)
-bi  #实行spec中%pre,%build与%install(计划,编写翻译并设置)
-bl  #反省spec中的%file段(查看文件是不是齐备)
-ba  #创制源码与二进制包(常用)
-bb  #只创立二进制包(常用)
-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 文件考入SOU昂CoraCES目录,编辑test.spec文件
Name:test
Version:1.0
Release:0%{?dist}
Summary: test

–rebuild  #树立二进制包,通-bb
–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  #成功打包后去掉SOULX570CES
–rmspec #产生打包后去掉SPEC
–short-cricuit
–target=CPU-VENDOR-OS #规定包的末尾利用平台

–buildroot=DIRECTORY  #规定以root目录建构包
–clean  #成就打包后去掉BUILD下的文件目录
–nobuild  #不进行%build的阶段
–nodeps  #不检查建构包时的关系文件
–nodirtokens
–rmsource  #实现打包后去掉SOU牧马人CES
–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

指令成功后会在RPMS目录中变化对应的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

澳门金沙国际 1

澳门金沙国际 2

相关文章