python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境


Posted in Python onDecember 14, 2020

python的pip是其包管理工具,相当方便好用。本文只介绍pip 如何通过其freeze命令打离线包,及其离线包的安装脚本。这个知识点,特别适用于不适合连通互联网,设备需要物理隔绝,保密要求严格的客户环境。

环境

操作系统: Centos 7.7

python 版本: 2.7

客户网络环境: 离线

研发网络环境:联网

pip 安装

(1)下载rpm包

首先研发环境(联网),去 https://pkgs.org/download/python-pip选择合适的pip rpm离线包下载,如下图:

python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境

选择一个rpm链接,点击进去,然后在下载模块,选择二进制文件相关下载地址下载即可【CoderBaby】,如下图:

python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境

(2)rpm 安装pip离线包

rpm -ivh python2-pip-8.1.2-10.el7.noarch.rpm (rpm离线包完整路径名)

(3)升级pip

通过旧版的pip install 命令升级pip到最新版本,具体如下:

pip install packages/pip-20.2.3-py2.py3-none-any.whl (从pypi官网下载.whl包: https://pypi.org/project/pip/)

(4)pip freeze 将系统已安装的包按照需要的格式打包

具体命令如下:

pip freeze >requirements.txt(重定向,并且指定输出文件名称、格式、路径)

结果如下:

python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境

(5)pip download 下载离线包

具体命令如下:

pip download -d packages -r requirements.txt (将requirements.txt里指定的包名和版本—【可根据需要,编辑requirements.txt,删除不需要打包的包】打包到默认packages文件夹下)

结果如下图:

python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境

(6)通过shell脚本安装离线包

具体shell脚本命令如下:

pip install --no-index --find-links=packages -r requirements.txt

说明:

首先将packages文件夹和requirements.txt拷贝至离线服务器:packages文件夹放在任意目录下,requirements.txt放在同级目录

相关目录结构如下图:

python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境

注:

python 2.6.6 升级到 2.7

centos 6自带的python 版本为2.6.6,需要升级到2.7,详情可参考:https://3water.com/article/202100.htm

【@2020/12/7,国内各大镜像似乎弃用CentOS 6了,参见:https://www.v2ex.com/t/733142】

到此这篇关于python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境的文章就介绍到这了,更多相关python 打离线包及自动安装内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Python上基于Markov链生成伪随机文本的教程
Apr 17 Python
Python计算两个日期相差天数的方法示例
May 23 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
Dec 18 Python
对Python模块导入时全局变量__all__的作用详解
Jan 11 Python
python根据txt文本批量创建文件夹
Dec 08 Python
Python API 自动化实战详解(纯代码)
Jun 11 Python
pytorch 可视化feature map的示例代码
Aug 20 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
Python操作qml对象过程详解
Sep 26 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 02 Python
Pandas中DataFrame交换列顺序的方法实现
Dec 14 #Python
python中time、datetime模块的使用
Dec 14 #Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 #Python
python读写数据读写csv文件(pandas用法)
Dec 14 #Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
Dec 14 #Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 #Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
Dec 14 #Python
You might like
PHP新手上路(三)
2006/10/09 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
Javascript !!的作用
2008/12/04 Javascript
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
异步动态加载js与css文件的js代码
2013/09/15 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
python实现自主查询实时天气
2018/06/22 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
Collection和Collections的区别
2016/05/02 面试题
写好自荐信要注意的问题
2013/11/10 职场文书
天猫活动策划方案
2014/08/21 职场文书
出纳岗位职责
2015/01/31 职场文书
结婚老公保证书
2015/02/26 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python