python的venv环境迁移
前言
使用Python内置的venv模块管理python环境,怎么实现环境迁移。
方案一 拷贝老环境下的Lib目录
1、在新设备上新建与原始环境相同python版本的venv环境
python -m venv my_venv
2、将原始环境.venv 下的Lib文件拷贝到新环境中
cp -r old/venv/Lib new/my_venv/
3、然后就可以在新的环境下激活使用了。
方案二 直接复制虚拟环境文件夹
1、将整个虚拟环境文件夹(通常命名为 venv 或其他名称)从一台电脑复制到另一台电脑。
2、修改 pyvenv.cfg 文件中的 home 配置为新电脑上 Python 的安装路径。
注意:这种方法迁移确保迁移前后环境的python版本尽量一致,和架构必须一致。
使用此种方式迁移到新机器后,确保解压后虚拟环境bin目录下python软连接文件指向本地的python路径是正确的。否则会报文件不存在:
bad interpreter: No such file or directory
方案三 导出和导入依赖项
在原始电脑上,使用以下命令导出项目的依赖项到一个文件中:
pip freeze > requirements.txt
将生成的 requirements.txt 文件复制到新电脑。
在新电脑上,使用相同版本的 Python 创建一个虚拟环境。
运行以下命令,将依赖项从 requirements.txt 安装到新的虚拟环境
pip install -r requirements.txt
如果新机器中没有互联网访问权限,则可以通过以下步骤完成:
- 在第一台计算机的venv中运行
pip wheel -w wheels -r packages.txt
.这将为您所需的所有软件包下载并构建*.whl
软件包.请注意,这是假设两台机器的操作系统和体系结构都相似! - 将wheel文件复制到新机器上.
- 在新计算机上创建一个新的virtualenv并输入它.
- 通过轮子在新的venv中安装软件包:
pip install -r packages.txt (这个文件需要自己创建反,把所有whl文件列出)
方案四 用Docker镜像
创建一个 Docker 镜像,将 Python 环境和项目一起打包。
在新电脑上运行该 Docker 镜像,即可获得相同的 Python 环境。
作者:書劍飄零
本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。