打包迁移Python env环境

打包迁移Python env环境

平常工作中可能遇到python虚拟环境迁移的场景,总结了如下几个方法。适用于同架构、相同类型系统之间的python虚拟环境迁移。

方法一:使用pip freezerequirements.txt

这种方法将当前环境中的所有包记录到一个文件中,然后在新环境中安装这些包。

1. 导出当前环境中的包

在当前虚拟环境中,运行以下命令来生成requirements.txt文件:

pip freeze > requirements.txt
2. 迁移requirements.txt文件

将生成的requirements.txt文件复制到目标机器上。

3. 在目标机器上创建新环境并安装包

在目标机器上,创建新的虚拟环境,然后使用requirements.txt文件来安装所有包:

# 创建新的虚拟环境
python -m venv my_new_env

# 激活新环境
# Windows
my_new_env\Scripts\activate
# macOS/Linux
source my_new_env/bin/activate

# 安装包
pip install -r requirements.txt

方法二:打包整个虚拟环境目录

这种方法将整个虚拟环境目录打包并复制到目标机器上。可以实现离线打包迁移,且目的端不需要下载及安装过程。

1. 打包虚拟环境目录

在当前机器上,使用压缩工具将虚拟环境目录打包:

# 假设虚拟环境目录名为my_env
tar -czvf my_env.tar.gz my_env
2. 迁移压缩包

将生成的my_env.tar.gz文件复制到目标机器上。

3. 解压虚拟环境目录

在目标机器上,解压缩虚拟环境目录:

tar -xzvf my_env.tar.gz

注意:

  • 这种方法迁移确保迁移前后环境的python版本尽量一致,和架构必须一致。
  • 使用此种方式迁移到新机器后,确保解压后虚拟环境bin目录下python软连接文件指向本地的python路径是正确的。否则会报文件不存在:
    bad interpreter: No such file or directory

方法三:下载wheel包离线迁移环境

在当前机器下载离线的wheel包,将离线包迁移至目标机器直接安装。

1. 旧环境导出

在当前环境中,运行以下命令来生成wheel文件:

pipenv freeze > requirements.txt
# 执行如下文件会根据requirements.txt下载wheel安装包,下载后位于当前目录packages文件夹
pip wheel -w packages -r requirements.txt

# 或者或者使用如下命令,将wheel包下载至packages文件夹。与上面命令效果是一样的。
pip download -r requirements.txt -d packages
2. 新环境安装

将requirements.txt和packages文件夹复制到新机器上,创建虚拟环境,

python -m venv my_new_env
pip install --no-index --find-links=packages -r requirements.txt  

注意

这种方法对于两边的python版本和系统类型有一定要求,尽量接近,可以根据迁移情况进行调整。有的wheel包区分是windows和linux版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lldhsds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值