• 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包

  • 相关阅读:
    【洛谷4251】 [SCOI2015]小凸玩矩阵(二分答案,二分图匹配)
    JXOI2019游记
    luogu4884 多少个1?
    数论难点选讲
    计树问题小结
    codeforces选做1.0
    POI2015选做
    后缀自动机小结
    bzoj4008 [HNOI2015]亚瑟王
    bzoj1500 [NOI2005]维修数列
  • 原文地址:https://www.cnblogs.com/ITer-jack/p/9342946.html
Copyright © 2020-2023  润新知