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常用方法和技巧
May 18 Python
Python fileinput模块使用实例
Jun 03 Python
Swift中的协议(protocol)学习教程
Jul 08 Python
Python虚拟环境virtualenv的安装与使用详解
May 28 Python
Python中扩展包的安装方法详解
Jun 14 Python
pandas series序列转化为星期几的实例
Apr 11 Python
Python代码打开本地.mp4格式文件的方法
Jan 03 Python
Django 接收Post请求数据,并保存到数据库的实现方法
Jul 12 Python
Python求解正态分布置信区间教程
Nov 20 Python
Python实现Word表格转成Excel表格的示例代码
Apr 16 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 Python
Python Matplotlib绘制动画的代码详解
May 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
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
从刷票了解获得客户端IP的方法
2015/09/21 PHP
PHP ADODB实现事务处理功能示例
2018/05/25 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
2016/11/22 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
bootstrap3-dialog-master模态框使用详解
2017/08/22 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
Python中map和列表推导效率比较实例分析
2015/06/17 Python
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
python递归实现快速排序
2018/08/18 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
测试驱动开发的主要步骤是什么
2014/12/10 面试题
大型演出策划方案
2014/05/28 职场文书
厕所文明标语
2014/06/11 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技