Python 虚拟环境迁移到其他电脑
一、背景介绍
在 Python 项目开发过程中,根据不同的项目场景,需要切换不同的 Python 版本。
因此,我们经常会对不同的项目,创建特定的 Python 虚拟环境,实现项目环境间的“物理隔离”。
本地创建 Python 虚拟环境,开发测试完项目功能,需要部署到现场环境。
根据客户现场环境的不同(客户现场机器通外网和不通外网两种情况),Python 虚拟环境迁移方式不同。
二、实现方案
1、虚拟环境打包
1)生成 requirements.txt
在虚拟环境的 Scripts 目录下,输出虚拟环境中已安装的包名称及版本号,并记录到 requirements.txt 文件中。
命令如下:
pip freeze > requirements.txt
生成的 requirements.txt 文件内容如下:
2)下载本地安装包
将本地 Python 虚拟环境中依赖的安装包,下载并保存到指定的文件夹 packages 中。命令如下:
pip download -r requirements.txt -d packages
命令执行成功后,可以在 Scripts 目录下,生成 packages 文件夹。
导出的文件如下:
2、虚拟环境迁移
1)安装相同版本的 Python (个人使用的是 3.8.5 版本的);
2)到新电脑上用相同版本的 Python,创建虚拟环境;(或者将本地的虚拟环境打包,复制到指定的机器上)
3)复制文件,将 requirements.txt 文件 和 packages文件夹,放入虚拟环境的 Scripts 文件夹下。
3、激活虚拟环境
1)本地激活(无法连接外网的情况下)
pip install --no-index --find-links=packages -r requirements.txt
2)联网激活(可以连接外网的情况下)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple