Python自带 venv 虚拟环境迁移到离线 Windows 环境
一、在联网电脑上准备迁移包
1. 激活虚拟环境并导出依赖清单
# 1.激活虚拟环境 (将 'venv' 替换为你的虚拟环境文件夹名)venv\Scripts\activate# 2.导出所有已安装的包及其精确版本到 requirements.txtpip freeze > requirements.txt
2. 下载所有依赖包到本地文件夹
# 1.创建存放安装包的文件夹 offline_packages# 2.将基础包先进行下载pip download setuptools pip wheel setuptools_scm -d E:\Data\Code\offline_packages# 3.根据 requirements.txt 下载项目依赖包(.whl)到 offline_packages 文件夹pip download -r requirements.txt -d E:\Data\Code\offline_packages -i https://pypi.tuna.tsinghua.edu.cn/simple # 注意:在Windows环境下,jq和 pyclipper这类包需要编译C/C++扩展# 可尝试安装预编译的wheel,注意注释掉requirements依赖pip install jq --only-binary jqpip install pyclipper --only-binary pyclipper==1.3.0
二、在离线目标电脑上安装新环境
1. 创建新虚拟环境
# 创建虚拟环境 (请将 'new_venv' 替换为你想要的名字)python -m venv new_venv
2. 从本地文件夹离线安装依赖
# 1.激活虚拟环境new_venv\Scripts\activate# 2.安装离线依赖# --no-index 表示不从PyPI官方源下载# --find-links 指定本地文件夹路径pip install --no-index --find-links=offline_packages -r requirements.txt
三、注意事项与避坑指南
- • Windows x64系统下载的包(.whl文件)无法在Linux或Windows ARM系统上安装。
- • 遇到 ModuleNotFoundError: No module named 'pkg_resources' 错误时,不要升级 setuptools,需降级:
pip install "setuptools<82"或python -m pip install "setuptools<82.0.0" --force-reinstall