【Pytorch】Conda环境pack打包迁移报错处理

news2024/9/20 14:33:25

文章目录

  • Anaconda虚拟环境打包
  • 一、源电脑的环境打包
    • 1.安装conda-pack工具
    • 2.确定环境
    • 3.打包环境
    • 4.将打包环境拷贝到U盘
  • 二、环境迁移到目标电脑上
  • 三、异常处理
    • pip install -e. 导致无法pack→忽略
    • 管理的文件已经被删除或者被覆盖→压缩成tar
      • 注意
    • 重新激活环境

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

希望能顺顺利利完成!

嘛,如果对您有帮助的话就开心的复制吧,整理不易转载请注明qwq!
如果有更好的建议或意见欢迎补充!
我是亓云鹏(亓Qí),努力与大家一同分享算法的快乐!

每博一图(1/1)↓
在这里插入图片描述

Reference:
conda-pack迁移虚拟环境
离线环境conda虚拟环境备份迁移–conda pack问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1919340.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dify中的知识库API列表

1.知识库API列表 通过文本/文件创建/更新/删除文档/查询文档嵌入状态,知识库创建/知识库查询/文档列表查询,分段增/删/改/查。 接口名字功能描述请求示例POST/datasets/{dataset_id}/document/create_by_text通过文本创建文档此接口基于已存在知识库&a…

法律咨询援助网站

1 项目介绍 1.1 摘要 随着互联网技术的飞速发展,公众对于便捷、高效的法律咨询服务需求日益增长。传统的法律咨询方式已难以满足人们即时性、多样化的咨询需求,促使法律咨询援助网站应运而生。这些平台旨在通过数字化手段,为用户提供法律知…

Python基础教学之二:核心篇——数据结构与流程控制

Python基础教学之二:核心篇——数据结构与流程控制 一、深入理解数据类型 1. 字符串、数字和布尔类型 字符串操作:Python中的字符串可以通过多种内置方法和格式化工具进行操作。例如使用str.format()方法来格式化字符串,或者通过str.join()…

冒泡排序与其C语言通用连续类型排序代码

冒泡排序与其C语言通用连续类型排序代码 冒泡排序冒泡排序为交换排序的一种:动图展示:冒泡排序的特性总结:冒泡排序排整型数据参考代码(VS2022C语言环境): 冒泡排序C语言通用连续类型排序代码对比较的方式更…

GD32F303RET6读取SGM58031电压值

1、SGM58031芯片详解 (1)SGM58031是一款低功耗,16位精度,delta-sigma (ΔΣ)模数转换器(ADC)。它从3V到5.5V供电。 (2)SGM58031包含一个片上参考和振荡器。它有一个I2C兼容接口,可以选择四个I2…

keepalived高可用集群

一、keepalived: 1.keepalive是lvs集群中的高可用架构,只是针对调度器的高可用,基于vrrp来实现调度器的主和备,也就是高可用的HA架构;设置一台主调度器和一台备调度器,在主调度器正常工作的时候&#xff0…

如何抓取和处理天气网站数据

目的 在进行气象研究时,获取准确的历史天气数据是至关重要的。本文将分享如何从天气网站收集数据并将其转化为表格形式,以便于后续分析。然而,在直接抓取数据时,可能会遇到API接口保护的问题。本文将详细解释解决这些问题的步骤&…

【人工智能】-- 受限玻尔兹曼机

个人主页:欢迎来到 Papicatch的博客 课设专栏 :学生成绩管理系统 专业知识专栏: 专业知识 文章目录 🍉引言 🍉受限玻尔兹曼机 🍈RBM的结构 🍍RBM的架构图 🍍RBM的经典实现 &…

“论软件维护方法及其应用”写作框架,软考高级论文,系统架构设计师论文

论文真题 软件维护是指在软件交付使用后,直至软件被淘汰的整个时间范围内,为了改正错误或满足 新的需求而修改软件的活动。在软件系统运行过程中,软件需要维护的原因是多种多样的, 根据维护的原因不同,可以将软件维护…

AI版Siri要明年见,研究表明ChatGPT暂无法取代程序员,Kimi推出浏览器插件

ChatGPT狂飙160天,世界已经不是之前的样子。 更多资源欢迎关注 根据彭博社记者马克古尔曼的最新消息,苹果公司今年不会推出全新的Apple Intelligence驱动的Siri,该公司计划在明年1月开始测试,并在iOS 18.4中才推出正式版本。 此前…

2.5 计算机网络

声明:文章参考的《系统架构设计师教程(第二版)》,如有侵权,本人将立即修改和删除。 利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,并依靠网络软件以及通信协议实现…

[迫真保姆级教程]在Windows上编译可用的Tesseract OCR in C++ 并部署在Visual Studio与Qt6上

目录 前言 阅前提示 导言 使用基于vcpkg的,于msvc19编译器编译的Tessereact OCR动态库 使用vcpkg辅助我们的编译 正文 使用msys2环境下的,使用mingw64编译器编译的Tessereact OCR动态库 什么是msys2 安装前,我们也许。。。 [Option]…

入门PHP就来我这(高级)24 ~ Session判断用户登录

有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享 路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。 上一篇我们介绍了Session管理部分的概念,本文通过session来改写一些用户登录&…

git批量删除本地包含某字符串的特定分支

git批量删除本地包含某字符串的特定分支 git branch -a | grep 分支中包含的字符串 | xargs git branch -D git删除本地分支_git查看删除本地分支-CSDN博客文章浏览阅读989次。git branch -d <分支名>可以通过: git branch 查看所有本地分支及其名字&#xff0c;然后删…

防火墙基础实验

首先交换机配置 [LSW7]undo info-center enable [LSW7]vlan batch 2 3 [LSW7]int g0/0/2 [LSW7-GigabitEthernet0/0/2]port link-type access [LSW7-GigabitEthernet0/0/2]port default vlan 2 [LSW7-GigabitEthernet0/0/2]int g0/0/3 [LSW7-GigabitEthernet0/0/3]port link-…

静态时序分析:Leaf Cell(叶单元)

相关阅读​​​​​​​静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html 在DC中&#xff0c;leaf cell&#xff08;叶单元&#xff09;有时会出现在描述中&#xff0c;例如set_input_delay的-reference_pin选项的参数&#xff0c;就必须是一个端口或…

怎么将mkv视频格式转为mp4?这四种转换方法你肯定要试试!

怎么将mkv视频格式转为mp4&#xff1f;你是否曾被MKV格式的魅力深深吸引&#xff0c;仿佛踏入了一个充满奇幻色彩的多媒体秘境&#xff0c;那里&#xff0c;音频如溪流潺潺&#xff0c;视频似画卷铺展&#xff0c;字幕则如同夜空中最亮的星&#xff0c;三者交织成一场视听盛宴&…

Doze和AppStandby白名单配置方法和说明

机制 配置路径 配置案例 说明 影响机制 调试命令 Doze /platform/frameworks/base /data/etc/platform.xml allow-in-power-save 【系统应用Doze白名单配置】 Doze\Job\AppStandby\Alarm\WakeLock\Sync 查看Doze白名单:adb shell dumpsys deviceidle 添加Doze白名单…

多输入多输出 | Matlab实现Transformer多输入多输出预测

多输入多输出 | Matlab实现Transformer多输入多输出预测 目录 多输入多输出 | Matlab实现Transformer多输入多输出预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 多输入多输出 | Matlab实现Transformer多输入多输出预测&#xff08;完整源码和数据&#xff09; 1.da…

OS_同步与互斥

2024-07-04&#xff1a;操作系统同步与互斥学习笔记 第9节 同步与互斥 9.1 同步互斥的基本概念9.1.1 同步关系9.1.2 互斥关系9.1.3 临界资源9.1.4 临界区9.1.5 同步机制应遵循规则 9.2 软件同步机制9.2.1 单标志法9.2.2 双标志先检查法9.2.3 双标志后检查法9.2.4 peterson算法 …