离线内网部署python应用的关键是完整、精准地同步python解释器、pip工具链及全部依赖:需先确认目标机python版本、系统架构等信息,再在外网母机用pip download加--only-binary=:all:、--platform、--python-version等参数递归下载wheel包(含wheel/setuptools/pip三件套及业务依赖),最后在内网用--no-index与--find-links成对安装。

Apache 上部署 Python 应用本身不难,但放在离线内网里,难点从来不在 Apache 配置,而在于 Python 解释器 + pip 工具链 + 所有业务及构建依赖 能否完整、准确、一次性落进内网。漏一个 wheel,整个安装就卡住;错一个平台标签,pip 直接跳过不装。
先确认内网环境底细
别急着下载包,先摸清目标机的真实情况:
- 执行
python3 --version和python3 -c "import platform; print(platform.machine(), platform.system())",明确 Python 版本(如 3.11.9)、系统(Linux/Windows)、架构(x86_64 / aarch64) - 检查是否已有 pip:
pip --version。若没有,说明连基础工具链都缺失,需优先补全 - 在 Linux 下运行
ldconfig -p | grep ssl和gcc --version,确认 OpenSSL、编译工具等底层依赖是否存在——它们是编译 C 扩展(如 mod_wsgi、numpy)的前提
在外网“母机”上精准打包全部依赖
母机必须与内网目标机的 Python 版本、操作系统、CPU 架构严格一致。推荐用 conda 或 venv 创建干净环境再操作:
安全 Python 代码沙箱:在隔离的沙箱中执行任意 Python 代码,预装 requests、NumPy、pandas 库。返回 stdout、stderr。
- 先下载构建三件套(pip 自身运行必需,不包含在 requirements.txt 里):
pip download wheel setuptools pip --no-deps --only-binary=:all: --python-version 311 --platform manylinux2014_x86_64 -d ./offline_pkgs - 再下载业务依赖(含 mod_wsgi、Flask/Django、项目所需库):
pip download -r requirements.txt --only-binary=:all: --python-version 311 --platform manylinux2014_x86_64 -d ./offline_pkgs - 关键参数不能少:
--only-binary=:all:防止混入 .tar.gz 源码包;--platform和--python-version强制匹配目标环境;-d指向扁平目录,不可嵌套
内网安装顺序和命令要闭环
传入内网后,解压到统一路径(如 /opt/python_offline),按顺序执行:
- 先升级并安装构建工具:
pip install --no-index --find-links=/opt/python_offline wheel setuptools pip - 再装业务依赖:
pip install --no-index --find-links=/opt/python_offline -r requirements.txt - 特别注意:
--no-index和--find-links必须成对出现,且路径指向的是 存放所有 .whl 的根目录,不是子文件夹
Apache + mod_wsgi 的离线适配要点
mod_wsgi 是 C 扩展模块,离线安装更敏感:
- 不要用
apt install libapache2-mod-wsgi-py3(内网无 apt);必须通过 pip 安装 wheel:pip download mod_wsgi --only-binary=:all: --python-version 311 --platform manylinux2014_x86_64 -d ./offline_pkgs - 确保内网已安装 Apache 二进制(从官网下载 .deb/.rpm 离线包或源码编译好再传入),且
a2enmod wsgi可用 - 验证 mod_wsgi 是否加载成功:
apache2ctl -M | grep wsgi(Debian/Ubuntu)或httpd -M | grep wsgi(RHEL/CentOS)
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










