打包迁移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实现Nao机器人的单目测距

    python实现Nao机器人的单目测距

    这篇文章主要为大家详细介绍了python实现Nao机器人的单目测距,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • python 消费 kafka 数据教程

    python 消费 kafka 数据教程

    今天小编就为大家分享一篇python 消费 kafka 数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python异常处理如何才能写得优雅(retrying模块)

    Python异常处理如何才能写得优雅(retrying模块)

    异常就是程序运行时发生错误的信号,下面这篇文章主要给大家介绍了关于Python异常处理的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • Python数据分析之缺失值检测与处理详解

    Python数据分析之缺失值检测与处理详解

    在实际的数据处理中,缺失值是普遍存在的,如何使用 Python 检测和处理缺失值,就是本文要讲的主要内容。感兴趣的同学可以关注一下
    2021-12-12
  • python 利用 PrettyTable 美化表格

    python 利用 PrettyTable 美化表格

    这篇文章主要介绍了python 利用 PrettyTable 美化表格,首先按行设置数据展开相关内容,需要的小伙伴可以参考一下
    2022-04-04
  • Python 基于Selenium实现动态网页信息的爬取

    Python 基于Selenium实现动态网页信息的爬取

    本文主要介绍了通过Selenium和webdrive等库,对动态网页的信息进行爬取。文中的示例代码非常详细,感兴趣的同学快来跟随小编一起学习吧
    2021-12-12
  • python之js逆向功能演示详解

    python之js逆向功能演示详解

    这篇文章主要为大家介绍了python之js逆向功能演示详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Python如何将将模块分割成多个文件

    Python如何将将模块分割成多个文件

    这篇文章主要介绍了Python如何将将模块分割成多个文件,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • Python中函数的创建及调用

    Python中函数的创建及调用

    这篇文章主要介绍了Python中函数的创建及调用,创建函数也称为定义一个函数,可以理解为创建一个具有某种用途的工具。调用函数也就是执行函数。如果把创建的函数理解为创建一个具体有某种用途的工具,那么调用函数就相当于使用该工具
    2022-06-06
  • 全面解析python当前路径和导包路径问题

    全面解析python当前路径和导包路径问题

    这篇文章主要为大家介绍了python当前路径和导包路径问题的全面解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05

最新评论