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包

内容来源于网络如有侵权请私信删除

python脚本打包rpm_python程序打包rpm包相关推荐

  1. Python脚本制作exe程序超详细!

    Python脚本制作exe程序 1 为什么要将python脚本打包成exe程序 2 制作exe程序 1 为什么要将python脚本打包成exe程序 Python具有丰富和强大的库,能够把用其他语言制作 ...

  2. linux下程序制作rpm包,制作rpm包

    这文章我不记得在那转的了,已经有一段时间了 如何在linux或CentOS下制作RPM包 但我觉得单纯明白用.spec生成rpm是不够的.常见有两个原因值得我们去了解用如何用源码制作rpm: 引用 1 ...

  3. linux qt make文件或目录,rpm,linux_为Qt程序制作rpm包的spec文件里的路径问题,rpm,linux,qt,rpmbuild,spec - phpStudy...

    为Qt程序制作rpm包的spec文件里的路径问题 我对Qt和rpm都不怎么熟悉,所以在为Qt程序制作rpm包的时候被路径问题纠结到了. Qt的.pro文件的相关部分是这么写的,其中AppName是我的 ...

  4. tar ,cpio打包解压. shell脚本for,while,until循环. rpm包管理,select循环菜单,函数function,yum...

    tar  tar -cf 路径+文件名字后续.tar  +路径 创建归档压缩 tar cf /testdir/etc.tar /etc/ tar cvf 可以查看解压过程 tar tvf 预览作用 t ...

  5. CentOS6.7上使用FPM打包制作自己的rpm包

    自定义rpm包,还是有逼格和实际生产环境的意义的. (下面的文档有的代码由于博客排版的问题导致挤在了一起,需要自己判别) 安装FPM fpm是ruby写的,因此系统环境需要ruby,且ruby版本号大 ...

  6. C++ QT调用python脚本并将软件打包发布

    对我来说主要就是打包的问题比较难解决,弄了一个下午都没解决,不知道是minconda的问题,还是Qt更新的原因,网上的很多解决方法都不行,经过我的一项一项排查,最后发现就是少导了一个文件夹. 怎么调用 ...

  7. Python 编写的图形程序打包为安卓 APP、IOS

    如果想使用 Python 语言编写图形界面程序,那么有不少的框架可以提供支持,比如 Kivy.Tkinter.PyQt.WxPython.pyui4win等等. 这些框架都是只能创建桌面图形界面程序, ...

  8. 学习笔记(42):Python实战编程-pyinstaller程序打包

    将程序打包可以使得所有Windows带有python虚拟机的电脑进行使用,打包的内容有代码加外部资源(如logo图片等) 步骤: 1)创建程序的代码 2)生成配置文件--用于获得打包的资源,将资源保存 ...

  9. java代码执行 打包jar_Java程序打包成jar文件包并执行的方法

    这篇文章主要介绍了把Java程序打包成jar文件包并执行的方法,非常具有实用价值,需要的朋友可以参考下 本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自 ...

最新文章

  1. 伟大公司为什么都考核价值观?
  2. 我应该采用 Java 12 还是坚持使用 Java 11?
  3. 职业生涯:怎么样学好Oracle
  4. [导入]extjs 教程
  5. Mastercam2021中文版
  6. java 8 中文API
  7. js 子窗口关闭并且刷新父窗口
  8. iphone天行连接不上服务器未响应,天行连接不上 - 卡饭网
  9. SpringBoot之实例程序
  10. Echarts+Vue地图
  11. yuv420转yuv422(yuyv)
  12. ImageOptim图片压缩工具免费版
  13. 计算器(加减乘除,平方,取余)
  14. 全网首发 nuScenes数据集(百度网盘 + 迅雷网盘) + 下载方法
  15. 云计算网络,在数据中心之中主要有哪些优势?
  16. 微信朋友圈怎么设置对单人开放?
  17. 面试常见的功能测试考试题关于测试方法的
  18. 完美解决绝大部分域外名的学术网站访问缓慢问题
  19. pythonrefprop怎么设置_Refprop调用Excel设置步骤
  20. 最小函数值(minval)

热门文章

  1. 欧盟批准ATT收购时代华纳 或年底前完成交易
  2. JAVA面试-HIBERNATE与 MYBATIS的对比
  3. 阿里云再降价 数据库产品降20%
  4. json介绍及简单示例
  5. 敏捷系列情景剧 | 如何“正确”开每日站会
  6. 使用stanford nlp进行依存句法分析
  7. Python--操作数据库class
  8. Android自定义视图二:如何绘制内容
  9. jQuery分页插件(jquery.page.js)的使用
  10. 嵌入式linux学习