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批量同步web服务器代码核心程序
Sep 01 Python
python基于socket实现网络广播的方法
Apr 29 Python
Python基于Tkinter的HelloWorld入门实例
Jun 17 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
django中send_mail功能实现详解
Feb 06 Python
Python之用户输入的实例
Jun 22 Python
python实现石头剪刀布小游戏
Jan 20 Python
pandas 如何分割字符的实现方法
Jul 29 Python
PyQt5实现暗黑风格的计时器
Jul 29 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
Jan 14 Python
python由已知数组快速生成新数组的方法
Apr 08 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
Nov 30 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实现用于验证所有类型的信用卡类
2015/03/24 PHP
100多行PHP代码实现socks5代理服务器[2]
2016/05/05 PHP
一个js实现的所谓的滑动门
2007/05/23 Javascript
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
JS实现仿UC浏览器前进后退效果的实例代码
2017/07/17 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
深入Python函数编程的一些特性
2015/04/13 Python
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
python实现发送邮件
2021/03/02 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
俄罗斯香水和化妆品网上商店:NOTINO.ru
2019/12/17 全球购物
如何写出好的Java代码
2014/04/25 面试题
总务岗位职责
2013/11/19 职场文书
黄金搭档广告词
2014/03/21 职场文书
春节联欢晚会主持词范文
2014/03/24 职场文书
财务人员担保书
2014/05/13 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
暑期家教宣传单
2015/07/14 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript