Python离线环境部署:利用pip freeze与download生成及安装离线包

Noah
Noah
发布时间:2026-10-14| 3人浏览过
原创

本文详细介绍在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离线包制作及自动安装相关内容,建议搜索本站历史文章或继续浏览后续相关文章,感谢大家对本平台的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。