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包

  • 相关阅读:
    c++中sort()及qsort()的用法总结
    POJ的层次感分类
    DFS练习-HDU1010
    Dijkstra&&Floyd
    DFS练习一---HDU 1342
    快速幂取模算法
    树的实现
    C++的队列和pair
    BFS练习-POJ.2386
    Codeforces 1139E(二分图最大匹配)
  • 原文地址:https://www.cnblogs.com/ITer-jack/p/9342946.html
Copyright © 2011-2022 走看看