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爬虫入门教程之糗百图片爬虫代码分享
Sep 02 Python
详解Python的单元测试
Apr 28 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
对Python字符串中的换行符和制表符介绍
May 03 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
Jul 03 Python
python中for循环变量作用域及用法详解
Nov 05 Python
python实现人机猜拳小游戏
Feb 03 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
利用python画出AUC曲线的实例
Feb 28 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
Python通用唯一标识符uuid模块使用案例
Sep 10 Python
python 星号(*)的多种用途
Sep 21 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中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
ECMAScript 基础知识
2007/06/29 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
2015/03/26 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
vue登录注册实例详解
2019/09/14 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
python处理json数据中的中文
2014/03/06 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
存储过程和函数的区别
2013/05/28 面试题
热能动力工程毕业生自荐信
2013/11/07 职场文书
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
《自然之道》教学反思
2014/02/11 职场文书
总账会计岗位职责
2014/03/13 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
canvas绘制折线路径动画实现
2021/05/12 Javascript