Pytorch Conda环境pack打包迁移报错的处理方案

 更新时间:2024年07月14日 09:42:02   作者:Loi_Chairman  
这篇文章主要介绍了Pytorch Conda环境pack打包迁移报错的处理方案,文中通过代码示例和图文结合的方式给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

Anaconda虚拟环境打包

实验在本机上验证成功,需要网高级设备上迁移,单张4090D,跑一个128k多模态大模型在一个数据集上推理加评测都花了两个半小时,还是太费时间了,重任亟需交给8A100机。

在这里插入图片描述

从源电脑中迁移anaconda的环境到目标电脑,首先两个电脑都安装了anaconda才行,在此基础上。

一、源电脑的环境打包

使用Anaconda Prompt操作

1.安装conda-pack工具

conda install conda-pack

在这里插入图片描述

2.确定环境

conda env list

在这里插入图片描述

找到你想要打包环境名。比如我的环境名是VLM

3.打包环境

conda pack -n VLM -o VLM.tar.gz

4.将打包环境拷贝到U盘

Windows环境打包在当前目录,如XX为用户名,路径为
C:/Users/XX/VLM.tar.gz
Linux同理

二、环境迁移到目标电脑上

①方法一
1.用Anaconda Prompt创建新环境,比如新环境是py310:

conda create -n py310 python=3.10

2.将U盘中的打包环境,拷贝在目标电脑的用户名目录:
C:/Users/XX/Py36.tar.gz
3.用Anaconda Prompt将打包环境,解压到新环境路径下:

tar -zxvf Py36.tar.gz -C E:\anaconda3\envs\py36\

4.激活新环境

conda activate py310

注意:如果失败的话,试一下方法二:

②方法二

1.找到目标电脑的环境文件夹

环境的路径为anaconda的所在目录下的envs文件夹,如我的为:E:\anaconda3\envs,以下步骤都在这个路径下进行操作。

2.将U盘中的打包环境,拷贝在环境文件夹envs内。

3.在环境路径下使用cmd命令行,新建文件夹,命名为py36:

mkdir py36

或者手动新建文件夹

4.使用cmd命令行,将打包环境解压到新环境中

tar -zxvf Py36.tar.gz -C ./py36

三、异常处理

pip install -e. 导致无法pack→忽略

报错如下

Collecting packages...
CondaPackError: Cannot pack an environment with editable packages
installed (e.g. from `python setup.py develop` or
 `pip install -e`). Editable packages found:

- /home/xxx

改用下面方式

conda pack -n VLM -o VLM.tar.gz --ignore-editable-packages

解压缩使用

mkdir ~/ananconda/envs/pcdet-tmp
tar -xf pcdet.tar.gz -C ~/ananconda/envs/pcdet-tmp
cd ~/ananconda/envs/pcdet-tmp
source ./bin/activate

管理的文件已经被删除或者被覆盖→压缩成tar

CondaPackError:  
	Files managed by conda were found to have been deleted/overwritten in the following packages: 
		 - charset-normalizer 2.0.4:
		 - xxxx
This is usually due to `pip` uninstalling or clobbering conda managed files,
resulting in an inconsistent environment. Please check your environment for
conda/pip conflicts using `conda list`, and fix the environment by ensuring
only one version of each package is installed (conda preferred).

解决方案尝试过利用WSL优势直接在Windows下对anaconda中环境env进行打包,然而报出巨量的依赖错误和命名错误

在这里插入图片描述

最后乖乖收手去Linux系统下打包压缩尝试是否可行

在Linux中,可以使用tar命令将文件或文件夹压缩为.tar.gz格式。

tar 是用于打包文件的命令。

-c 表示创建一个新的归档文件。

-z 表示使用gzip压缩。

-v 表示在归档时显示详细信息。

-f 后面跟着的是归档文件的名称。

例如,想要压缩anaconda中env下的名为VLM的文件夹,可以使用以下命令:

tar -czvf VLM.tar.gz VLM

注意

在Linux里去看位置,anaconda是不显示完整文件目录的,会直接不显示有env文件夹,但是可以直接cd 进env去看

在这里插入图片描述

如果想压缩单个文件,比如myfile.txt,可以使用:

tar -czvf myfile.tar.gz myfile.txt

这些命令将在当前目录下创建.tar.gz文件,可以在需要的时候更改文件路径或者指定输出目录。

在这里插入图片描述

压缩成功

重新激活环境

3.第三步:激活环境

对于tar压缩来讲解压执行

tar -xzvf VLM.tar.gz

如果是.zip 拷贝到另外一个系统上并解压到目录下/xxxx/anaconda/envs/则为

unzip -d /xxxx/anaconda/envs/ pyenv.zip

注意!打包的虚拟环境记录的是源环境的,新系统上的anaconda安装路径可能和源环境的不一样,比如源环境是/xxxx/anaconda2023/,新系统上是/xxxx/anaconda/,此时需要先在新系统上新建一个和源环境anaconda安装路径一样的空目录,例如原路径\wsl.localhost\Ubuntu\home\test\anaconda3\envs\VLM的
mkdir /xxxx/anaconda3/envs/
然后再建立软链
ln -s /xxxx/anaconda/envs/pyenv /xxxx/anaconda3/envs/
将空目录指向 实际anaconda路径
然后激活环境 source activate /xxxx/anaconda/envs/VLM

希望能顺顺利利完成!

以上就是Pytorch Conda环境pack打包迁移报错的处理方案的详细内容,更多关于Conda pack打包迁移报错的资料请关注脚本之家其它相关文章!

相关文章

  • Python中实现 xls 文件转 xlsx的4种方法(示例详解)

    Python中实现 xls 文件转 xlsx的4种方法(示例详解)

    在 Python 中,可以采用 pandas、pyexcel、win32com 和 xls2xlsx 这四个模块,实现 xls 转 xlsx 格式,本文以 Excel 示例文件test_Excel.xls 为例结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • Python实现钉钉自动化完整指南

    Python实现钉钉自动化完整指南

    本文详细介绍如何使用 Python 实现钉钉自动化,包括消息发送、部门管理、审批流程触发等功能,内容涵盖实现步骤、前置条件、依赖项以及注意事项,帮助快速上手并避免常见问题,需要的朋友可以参考下
    2025-03-03
  • Python分布式异步任务框架Celery使用教程

    Python分布式异步任务框架Celery使用教程

    Celery 是由Python 编写的简单,灵活,可靠的用来处理大量信息的分布式系统,它同时提供操作和维护分布式系统所需的工具
    2023-05-05
  • Win10 Anaconda 新建环境安装python-pcl的步骤

    Win10 Anaconda 新建环境安装python-pcl的步骤

    这篇文章主要介绍了Win10 Anaconda 新建环境安装python-pcl的方法,至于VS环境下安装C++ 版本的pcl也可以按照此文提供的步骤安装实现,需要的朋友可以参考下
    2022-04-04
  • TensorFlow的环境配置与安装方法

    TensorFlow的环境配置与安装方法

    这篇文章主要介绍了TensorFlow的环境配置与安装方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python的Django框架中if标签的相关使用

    Python的Django框架中if标签的相关使用

    这篇文章主要介绍了Python的Django框架中if标签的相关使用,是Django框架使用中的基础知识,需要的朋友可以参考下
    2015-07-07
  • 浅析Python 读取图像文件的性能对比

    浅析Python 读取图像文件的性能对比

    这篇文章主要介绍了浅析Python 读取图像文件的性能对比,主要介绍了3种性能对比方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • python使用win32com在百度空间插入html元素示例

    python使用win32com在百度空间插入html元素示例

    这篇文章主要介绍了python使用win32com在百度空间插入html元素的示例,大家参考使用吧
    2014-02-02
  • Python数据处理的三个实用技巧分享

    Python数据处理的三个实用技巧分享

    数据处理无所不在,掌握常用技巧,事半功倍。这篇文章将使用Pandas开展数据处理分析,总结其中常用、好用的数据分析技巧,感兴趣的可以学习一下
    2022-04-04
  • Python调用C++程序的方法详解

    Python调用C++程序的方法详解

    这篇文章主要介绍了Python调用C++程序的方法,文中通过示例代码介绍的详细,相信对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧。
    2017-01-01

最新评论