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 25 Python
Python 描述符(Descriptor)入门
Nov 20 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
对Python3中bytes和HexStr之间的转换详解
Dec 04 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
Dec 05 Python
python调用支付宝支付接口流程
Aug 15 Python
python解析yaml文件过程详解
Aug 30 Python
python3中的eval和exec的区别与联系
Oct 10 Python
python微信公众号开发简单流程实现
Mar 09 Python
python可以用哪些数据库
Jun 22 Python
pandas 数据类型转换的实现
Dec 29 Python
Pytorch如何切换 cpu和gpu的使用详解
Mar 01 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中读取文件的8种方法和代码实例
2014/08/05 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
yii使用bootstrap分页样式的实例
2017/01/17 PHP
javascript 装载iframe子页面,自适应高度
2009/03/20 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
详细介绍8款超实用JavaScript框架
2013/10/25 Javascript
JS解析XML实例分析
2015/01/30 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
Python实现截屏的函数
2015/07/25 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
Python中常见的异常总结
2018/02/20 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
MYSQL支持事务吗
2013/08/09 面试题
建筑项目策划书
2014/01/13 职场文书
社区十八大感言
2014/01/19 职场文书
法人授权委托书样本
2014/09/19 职场文书
银行业务授权委托书
2014/10/10 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
检讨书范文大全
2015/05/07 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android