欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

python包离线安装,python库rpm包制作

时间:2023-04-27

        python项目需要将项目依赖的python库整理出来,制作成rpm包放入私有的yum源,之所以不使用pip源,是因为没有私有pip源,在离线环境下无法使用。首先要做的是分析项目中的依赖,有多种途径,比如找台空机器,导出当前安装的python lib,适用于单独部署的情况,如下面1所示。或者分析代码,找出代码中import的各种依赖,如2所示。

一、pip 解析机器的python依赖:

生成requirements.txt文件pip freeze > requirements.txt

假如pip可用,pip 安装的方法:

pip install -r requirements.txt  安装所有依赖包

二、 pipreqs依赖安装(存在编码报错,尝试未成功)

当我们写好一个python项目之后,如果要发表到GitHub的话,为了别人便于快速运行你的项目,一般是可以提供一个requirements.txt的,这个东西不需要手写,是可以自动生成的。

1.安装打包库

pip install pipreqs

2.自动生成requirements.txt

进入项目的根目录下,执行:

pipreqs ./

如果出现编码错误,例如

可以指定编码方式解决该问题。

pipreqs ./ --encoding utf-8

        这种方式使用起来存在执行报错,可能和代码文件的格式有关,没有采用。

三、制作rpm包

对于导出的requirements,可以在网上找rpm包,也可以自己制作,但对于源码安装方式安装python lib的情况下,有种简单的制作rpm包的过程,解压源码包,然后执行bdist --formats=rpm,可以在dist目录下面找到自动生成的rpm文件,命令还可以继续传参,设置rpm打包信息。自动打出的包基本就是包lib目录下面的代码拷贝到要安装的机器lib目录下,或者像src.rpm包那样执行python setup.py install。假如机器版本和python环境区别不大的情况下,这种rpm打包非常好用。

python setup.py bdist --formats=rpm

yum list | grep xxx

四、 查看setup依赖

        有时候python lib 安装的时候,比较烦恼的是一直报错,安装缺这缺那,可以在setup.py文件中找require选项,就知道所需那些工具包和版本了、

五、 下载python rpm包

yum install --downloadonly python-chardet --downloaddir=/root/rpm

搜索私有rpm包网址:

python-setuptools | Package Info | CentOS Community Build Service

Build System Info | CentOS Community Build Service

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。