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参数和作用域的使用
Nov 01 Python
在Python中处理XML的教程
Apr 29 Python
详解在Python程序中自定义异常的方法
Oct 16 Python
Python中你应该知道的一些内置函数
Mar 31 Python
Python实例方法、类方法、静态方法的区别与作用详解
Mar 25 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
Python 实现输入任意多个数,并计算其平均值的例子
Jul 16 Python
django框架中间件原理与用法详解
Dec 10 Python
Python的对象传递与Copy函数使用详解
Dec 26 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
Apr 16 Python
selenium+超级鹰实现模拟登录12306
Jan 24 Python
使用python向MongoDB插入时间字段的操作
May 18 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
解析php中heredoc的使用方法
2013/06/17 PHP
PHPUnit安装及使用示例
2014/10/29 PHP
php验证码生成器
2017/05/24 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
使用jQuery实现更改默认alert框体
2015/04/13 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
微信小程序实现单选功能
2018/10/30 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
python实现小球弹跳效果
2019/05/10 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
python FTP编程基础入门
2021/02/27 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
EJB与JAVA BEAN的区别
2016/08/29 面试题
师范生教师实习自我鉴定
2013/09/27 职场文书
大学生自我鉴定
2013/12/16 职场文书
网站美工岗位职责
2014/04/02 职场文书
关于长城的导游词
2015/01/30 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis