Python离线环境部署:利用pip freeze与download生成及安装离线包
本文详细介绍在CentOS等无互联网连接的保密离线环境中,如何通过pip freeze命令导出依赖列表,并使用pip download下载完整离线包。文章涵盖从联网环境打包到离线服务器自动安装的完整流程,包括pip安装、版本升级及Shell脚本配置,适用于物理隔离的高安全要求场景。
离线环境Python部署概述
Python的pip工具是官方推荐的包管理方案,操作便捷且功能强大。本文重点讲解如何利用pip的freeze命令生成离线依赖包,并配合download命令下载具体文件,最后通过脚本在离线环境中自动安装。该方案特别适用于无法连接互联网、需物理隔离且对保密性有严格要求的客户环境。
环境配置要求
环境配置
操作系统:Centos 7.7
Python版本:2.7
目标网络环境:完全离线
研发网络环境:可联网
pip工具的安装与升级
pip工具安装
(1)获取rpm安装包
首先在研发环境(具备互联网连接)中,访问 https://pkgs.org/download/python-pip 页面,选择与系统匹配的pip rpm离线包进行下载,具体操作如下图所示:

点击选定的rpm链接进入详情页,在下载模块中选择二进制文件的下载地址进行下载即可【CoderBaby】,操作界面如下图所示:

(2)离线安装pip rpm包
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(重定向,并且指定输出文件名称、格式、路径)
执行结果如下所示:

(5)使用pip download下载离线依赖包
具体执行命令如下:
pip download -d packages -r requirements.txt (将requirements.txt里指定的包名和版本—【可根据需要,编辑requirements.txt,删除不需要打包的包】打包到默认packages文件夹下)
下载结果如下图所示:

离线环境自动安装脚本
(6)通过Shell脚本在离线环境安装
具体的Shell脚本命令如下:
pip install --no-index --find-links=packages -r requirements.txt
说明:
首先将packages文件夹和requirements.txt文件拷贝至离线服务器。其中,packages文件夹可放置于任意目录,而requirements.txt需放置在与packages同级目录下。
相关目录结构如下图所示:

注:
Python版本升级注意事项
Python 2.6.6 升级至 2.7
CentOS 6系统默认自带的Python版本为2.6.6,若需使用2.7版本,需进行升级操作。详细教程可参考:https://www.jb51.net/article/202100.htm
【@2020/12/7,国内各大镜像似乎弃用CentOS 6了,参见:https://www.v2ex.com/t/733142】
至此,关于Python通过pip freeze和download生成离线包及自动安装的详细过程介绍完毕。如需了解更多Python离线包制作及自动安装相关内容,建议搜索本站历史文章或继续浏览后续相关文章,感谢大家对本平台的支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













