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中getaddrinfo()基本用法实例分析
Jun 28 Python
python psutil库安装教程
Mar 19 Python
python 实现登录网页的操作方法
May 11 Python
python利用百度AI实现文字识别功能
Nov 27 Python
Python操作json的方法实例分析
Dec 06 Python
Python中常用的8种字符串操作方法
May 06 Python
Python正则表达式匹配和提取IP地址
Jun 06 Python
python 实现创建文件夹和创建日志文件的方法
Jul 07 Python
python lambda表达式在sort函数中的使用详解
Aug 28 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
Python实现排序方法常见的四种
Jul 15 Python
python中的sys模块和os模块
Mar 20 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结合飞信 免费天气预报短信
2009/05/07 PHP
php disk_free_space 返回目录可用空间
2010/05/10 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
Javascript中找到子元素在父元素内相对位置的代码
2012/07/21 Javascript
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
浅析JavaScript中的特殊数据类型
2017/12/15 Javascript
vue 移动端适配方案详解
2018/11/15 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
2019/10/02 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
Python编程求质数实例代码
2018/01/31 Python
有关Python的22个编程技巧
2018/08/29 Python
Python处理session的方法整理
2019/08/29 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
加拿大领先的牛仔零售商:Bluenotes
2018/01/22 全球购物
大学生个人实习的自我评价
2014/02/15 职场文书
计算机专业求职信
2014/06/02 职场文书
公司外出活动方案
2014/08/14 职场文书
爱心助学感谢信
2015/01/21 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技