python程序及其正视包打包成rpm包安顿

体系中需要将二个python脚本打包成rpm包,方便yum安装,钻探了3遍,把内部的进程记录一下。

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

有时候为了安插本人的包更便宜壹些,大家会构建自身的途达PM包,制作奥迪Q3PM包都有如何步骤呢,学习那个手续正是本文的指标。在CentOS下制作揽胜PM包注重rpm-build那些包,所以供给超前设置好该软件包。

有时为了陈设自身的包更便宜一些,我们会成立本人的福睿斯PM包,制作EnclavePM包都有怎样步骤呢,学习那一个手续正是本文的目标。在CentOS下制作LX570PM包正视rpm-build那几个包,所以须求提前安装好该软件包。

1.先是三个粗略测试脚本
#/usr/bin/env python
#-*- coding=utf-8 -*-
print 'this is test'

其1剧本运行结果一目领悟。

项目中要求将2个python脚本打包成rpm包,方便yum安装,商讨了一次,把内部的进程记录一下。

奥德赛PM生成因素

奥迪Q5PM生成因素

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

一声令下成功后会在汉兰达PMS目录中变化对应的rpm包

2.安装pyinstaller

/usr/src/redhat
–BUILD #编译在此之前,如解压包后寄放的路径
–BUILDROOT #python程序打包rpm包,中华VPM包制作原理。编写翻译后存放的门路
–RPMS #装进完毕后rpm包存放的路线
–SOURCES #源包所放置的不二等秘书籍
–SPECS #spec文书档案放置的路径
–SPRMS #源码rpm包放置的门径

/usr/src/redhat
–BUILD #编译此前,如解压包后寄放的路线
–BUILDROOT #编写翻译后存放的不2诀要
–RPMS #打包达成后rpm包存放的路径
–SOURCES #源包所放置的门路
–SPECS #spec文书档案放置的路线
–SPRMS #源码rpm包放置的不二法门

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

centos并从未该目录,那可咋做,其实在那多少个目录像作rpm是绝非关联的,只要设置好布局文件就行。1般大家都把源码打包成tar.gz格式然后存放于SOU奇骏CES路径下,而在SPECS路径下编制spec文书档案,通过命令打包后,私下认可会把包装后的rpm包放在奇骏PMS下,而源码包会被停放在SCRUISERPMS下。

centos并未该目录,那可怎么办,其实在老大目摄像作rpm是从未有过涉及的,只要设置好布署文件就行。1般大家都把源码打包成tar.gz格式然后存放于SOUTiggoCES路径下,而在SPECS路径下编写制定spec文书档案,通过命令打包后,暗许会把包装后的rpm包放在RAV4PMS下,而源码包会被放置在S汉兰达PMS下。

三.透过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  #建立源码与2进制包(常用)
-bb  #只建立二进制包(常用)
-bs  #只建立源码包

-bp  #只举行spec的%pre 段(解开源码包并打补丁,即只做准备)
-bc  #实践spec的%pre和%build 段(准备并编写翻译)
-bi  #履行spec中%pre,%build与%install(准备,编写翻译并安装)
-bl  #检查spec中的%file段(查看文件是还是不是齐备)
-ba  #确立源码与二进制包(常用)
-bb  #只建立2进制包(常用)
-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包放置的路子

三 从源码包建立

三 从源码包建立

将叁步骤生成的test.tar 文件考入SOU冠道CES目录,编辑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  #做到打包后去掉SOU本田CR-VCES
–rmspec #完结打包后去掉SPEC
–short-cricuit
–target=CPU-VENDOR-OS #鲜明包的末梢采用平台

–buildroot=DIRECTORY  #分明以root目录建立包
–clean  #姣好打包后去掉BUILD下的文件目录
–nobuild  #不进行%build的阶段
–nodeps  #不反省建立包时的涉及文件
–nodirtokens
–rmsource  #成就打包后去掉SOUCR-VCES
–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

命令成功后会在大切诺基PMS目录中变化对应的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

相关文章