zoukankan      html  css  js  c++  java
  • python程序打包rpm包

    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 curl使用简单介绍
    SecureCRT编码转换vim
    BigTable/HBase基本概念解读 & Hbase shell常用命令
    Crontab用法说明(Linux)
    Sina SSO 登陆过程分析
    浅谈队列
    搞怪的 log4net 记录日志 性能测试
    iBatis.Net异步多线程 操作Ibatis报错
    高并发高负载的大型网站系统架构
    [置顶] IIs Web 站点安全 监控 站点自动部署 重启
  • 原文地址:https://www.cnblogs.com/ITer-jack/p/9342946.html
Copyright © 2011-2022 走看看