步骤 1:准备外网环境
1.1 导出项目依赖
在外网环境下,使用 pip 导出当前项目的依赖清单, 这会将项目的所有依赖列出并保存到requirements.txt 文件中。
pip freeze > requirements.txt
1.2 下载所有依赖包
使用 pip download 命令下载项目所需的依赖包到本地目录(例如 packages/):
pip download -r requirements.txt -d ./packages
-r requirements.txt:指定依赖列表文件。
-d ./packages:将依赖包下载到 packages 目录。
此步骤会下载 .whl 或 .tar.gz 格式的所有依赖包,方便内网离线安装。
1.3 确保 Python 和虚拟环境工具版本一致
确认内外网的 Python 版本一致,并确保在内网中可以使用 venv 或 virtualenv 工具。
步骤 2:迁移到内网环境
2.1 将项目和依赖包文件复制到内网
使用 U 盘或其他方式,将以下文件/目录复制到内网:
- 项目文件夹(包括代码、配置等)。
- requirements.txt 文件。
- packages/ 目录(包含所有下载的依赖包)。
2.2 创建内网虚拟环境
在内网环境中,创建一个虚拟环境用于隔离依赖:
python -m venv venv
激活虚拟环境:
Windows:
venv\Scripts\activate
Linux/macOS:
source venv/bin/activate
2.3 安装离线依赖
在内网环境下,从本地目录安装依赖:
pip install --no-index --find-links=./packages -r requirements.txt
- –no-index:禁止从 PyPI 下载。
- –find-links=./packages:指定本地包文件夹作为依赖源。
到此就基本满足常规的需求了。
步骤 3:配置内网私有 PyPI (可选)
如果需要长期在内网开发和维护,可以考虑搭建一个内网的 PyPI 私有仓库,常见工具包括:
- pypiserver 一个轻量级的 PyPI 服务:
pip install pypiserver
pypi-server -p 8080 /path/to/packages
- devpi
功能更丰富的私有仓库,支持缓存 PyPI 数据:
pip install devpi
devpi-server --start
- 搭建后,将 pip 的配置指向内网私有仓库:
pip config set global.index-url http://<内网服务器地址>:8080/simple/
步骤 4:验证项目运行
激活虚拟环境,运行项目,验证依赖安装是否完整,项目是否能正常运行:
python main.py