2021-05-12 14:32:11
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公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址:https://www.linuxidc.com/Linux/2018-07/153194.htm
相關文章