打包迁移Python env环境的三种方法总结

 更新时间:2024年08月22日 08:32:29   作者:lldhsds  
平常工作中可能遇到python虚拟环境迁移的场景,总结了如下几个方法,下面这篇文章主要给大家介绍了关于打包迁移Python env环境的三种方法,需要的朋友可以参考下

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

方法一:使用pip freeze和requirements.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版本。

总结 

到此这篇关于打包迁移Python env环境的三种方法的文章就介绍到这了,更多相关打包迁移Python env环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python批量修改xml文件中的信息

    python批量修改xml文件中的信息

    大家好,本篇文章主要讲的是python批量修改xml文件中的信息,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下的相关资料
    2022-01-01
  • python 中 __init__的意义以及作用

    python 中 __init__的意义以及作用

    python中的__init__是一个私有函数(方法),访问私有函数中的变量在python中用self,在PHP中用$this,这篇文章主要介绍了python 中 __init__的意义以及作用,需要的朋友可以参考下
    2023-02-02
  • Django ModelForm操作及验证方式

    Django ModelForm操作及验证方式

    这篇文章主要介绍了Django ModelForm操作及验证方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python切片、strip()和LLM接口调用的实用技巧分享

    Python切片、strip()和LLM接口调用的实用技巧分享

    这篇教程详细介绍了Python中实用的List、切片操作和strip()方法,以及如何通过简单的代码调用LLM接口实现AI功能,适合Python初学者和进阶者学习,需要的朋友可以参考下
    2026-05-05
  • 使用Pytorch构建第一个神经网络模型 附案例实战

    使用Pytorch构建第一个神经网络模型 附案例实战

    这篇文章主要介绍了用Pytorch构建第一个神经网络模型(附案例实战),本文通过实例代码给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Python实现的FTP通信客户端与服务器端功能示例

    Python实现的FTP通信客户端与服务器端功能示例

    这篇文章主要介绍了Python实现的FTP通信客户端与服务器端功能,涉及Python基于socket的端口监听、文件传输等相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Python中新式类与经典类的区别详析

    Python中新式类与经典类的区别详析

    这篇文章主要给大家介绍了关于Python中新式类与经典类的区别,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Python脚本实现12306火车票查询系统

    Python脚本实现12306火车票查询系统

    本文给大家分享我使用python3实现的12306火车票查询系统,小编分步骤给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2016-09-09
  • python模块简介之有序字典(OrderedDict)

    python模块简介之有序字典(OrderedDict)

    字典是Python开发中很常用的一种数据结构,但dict有个缺陷(其实也不算缺陷),迭代时并不是按照元素添加的顺序进行,可能在某些场景下,不能满足我们的要求。
    2016-12-12
  • Python实现为图像添加下雪特效

    Python实现为图像添加下雪特效

    这篇文章主要为大家介绍了通过Python为图像添加下雪特效,文中的示例代码讲解详细,对学习Python有一定的帮助,感兴趣的小伙伴可以了解一下
    2021-12-12

最新评论