解决在Ubuntu中用conda配置环境和下载依赖缓慢问题(重点:mamba)

news/2025/2/28 18:26:21/文章来源:https://www.cnblogs.com/VickyWu/p/18724694

前情:

  • 背景:在重现text2cad文章的过程中,通过environment.yml下载环境和依赖(包括pythonocc-core,pytorch等需要conda安装的包)

  • 开发环境:Ubuntu

  • 待下载的包:
    官方environment.yml中要求的包及对应版本要求(之后会根据我的cuda驱动版本等其他问题,对包的版本进行调整):

dependencies:- python=3.9- numpy- pytorch=2.2.1- torchvision=0.17.1- pythonocc-core=7.7.2- cuda- pip:- tqdm- prettytable- torchinfo==1.8.0- plyfile==0.9- trimesh==4.1.8- tensorboard- pyvista- rich==13.7.1- CythonGSL- loguru- torchdata==0.7.1- litdata- transformers- nltk- ipykernel- ipywidgets- rich- pillow- accelerate- python-dotenv- gradio- open3d

实际上如果自己电脑上cuda驱动的版本与上述pytorch版本是匹配的,同时自己的电脑可以访问外网,是可以直接在base环境下使用conda env create --file environment.yml命令,直接新建一个名叫text2cad的虚拟环境,并直接下载好相关的包和依赖。就不存在之后的问题了。

遇到的问题及解决办法:

1.解决国内无法下载的问题————配置channels,使用国内镜像。

这里推荐一篇好的推文:配置channel基本可以按照它来:https://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247491983&idx=1&sn=2052e7a038f2db52eb282b88495a7dfd&scene=21#wechat_redirect

上述推文中不仅有conda的镜像,还有许多其他包管理工具的镜像,如有其他需求亦可以使用。这里贴上conda镜像的截图:
1.可以直接在命令行中以此运行如下指令:
image
2.或者使用nano打开~/.condarc文件,将渠道地址写入:
image

2.即使配置好channels,但在使用conda安装pythonocc-core包时,仍下载十分缓慢或直接失败————使用mamba作为conda的替代。

这里下载mamba仍然是需要conda来下载的,所以之后的操作要保证前面的channels配置好

由于mamba兼容conda,几乎所有的conda命令都可以使用mamba进行。

  • 下载mamba:conda install mamba -c conda-forge
  • 安装pythonocc-core:mamba install pythonocc-core=...三个点处填写自己需要的pythonocc-core的版本,如果没什么特定要求可直接下载mamba install pythonocc-core

3.根据自己的cuda版本,在官网上查找pytorch对应版本,下载好pytorch之后用pip下载其他的包,最后训练时仍然报错版本不匹配————解决办法较长,见后文。

如下图所示:
image
报错nividia驱动版本太老,让我更新驱动,或重新调整pytorch的版本。

此时我就疑惑了,明明我就是按照官网对应的版本下载的pytorch啊,怎么又会不匹配呢?如下图:我的cuda版本是11.3,所以我下载的对应版本pytorch如下:
image

实际原因:当我使用pip下载好pytorch之后(这里我是用的pip下载的pytorch,而不是像官方environment.yml中显示的那样用的conda下载pytorch),再用pip下载其他的包的时候,由于有些包没有指定版本,mamba直接给我下的最新版本,并为了匹配包之间的版本直接将我的torch版本更新了!!(这里点名accelerate)
image
上图是我查了accelerate库中的说明才发现的(所以结果就是mamba给我下载了1.4.0的accelerate,但为了匹配torch版本擅作主张的把我原先的torch版本更新了,导致我用pip list检查的时候发现torch版本变成了2.0,而其他的torch相关包没有变化)

解决办法:先下载pip管理的其他包,再下载pytorch。这样的话当你下载pytorch的时候,如果有和pytorch版本不匹配的依赖包,它会有详细的报错提醒,你就可以根据报错提示,针对性的更改不匹配的包的版本(一般是降版本)

这样就成功配置好环境啦!!!!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

又一款免费的资产设备管理软件 - WGFIX

WGFIX是wgcloud团队最近发布的一个资产管理系统,免费开源,而且使用非常简单,部署也很方便,非常适合中小企业使用的一款IT资产设备管理系统 下载:www.wgstart.com WGFIX资产设备管理系统是私有化部署的B/S系统,只需要在本地搭建好WGFIX后,所有用户都通过浏览器来访问使用…

4D毫米波雷达

4D毫米波雷达平台产品MRR610 & SRR610是经纬恒润新设计推出的第六代毫米波雷达平台产品,平台选用业内高集成度的SoC解决方案,可为客户提供高性价比雷达单品和多雷达融合解决方案。 4D毫米波雷达平台产品MRR610 & SRR610是经纬恒润新设计推出的第六代毫米波雷达…

学习备忘-不删除32位Office安装AccessDataEngine 64位版本(共存)

一、Access database engine是什么Access database engine是微软官方推出的一款功能强大的数据库引擎可再发型程序包,主要用于access数据库调用引擎,方便office系统文件和office应用程序之间的数据传输。 二、Access Database EngineMicrosoft Access Database Engine 64位是…

AI程序员入场!揭秘直播吧研发效能大提升的秘密武器

直播吧自2007年成立以来,一直走在体育赛事直播与资讯服务领域的前沿。作为国内知名的体育赛事直播与资讯平台,直播吧始终以“让体育爱好者更便捷地获取赛事信息和观看直播”为使命,致力于通过其APP、网站等渠道,为用户提供全面的体育赛事直播、新闻资讯、数据分析等服务。服…

第一章 使用基于类的视图(class-based view)创建网页App

实践二 —— 使用基于类的视图(class-based view)创建网页App 1. 完成实践一的环境部署2. 进入虚拟环境pipenv shell3. 创建一个名为home的apppython manage.py startapp home此时文件目录如下:4. 将home添加到my_project/settings.py文件中INSTALLED_APPS = [django.contri…

Linux中禁止存在空口令、多余和过期的账户

1、引言Linux操作系统因其稳定性和安全性被广泛应用于服务器和数据中心。然而,在Linux环境中,空口令账号、多余账户和过期账户的存在可能成为安全漏洞,给系统带来潜在的风险。本文将深入探讨Linux环境下空口令账号、多余账户和过期账户的安全风险,并提出相应的防范策略。 2…

2.28 课堂ai生成项目剖析

1》 对所需解析的对象项目进行详细描述然后询问ai应该怎样进行开发 老师要求的使用自然语言,我们也对ai提出用自然语言进行描述的要求ai给出第一次的为解决方案 但是方向都不很具体,说明ai对于我们已经掌握的技术也不明晰,可以在告诉ai我们嫩所掌握并且熟悉的语言。让ai根据…

pingtunnel实现内网穿透

1.pingtunnel实现内网穿透 pingtunnel是基于ICMP协议的隧道工具,用于内网穿透。 工具链接如下:https://github.com/esrrhs/pingtunnel环境准备:kail2023【NAT模式】【客户端】 centos7.8【两块网卡,分别是NAT和lan1】【服务端】 win7【lan1模式】【内网主机】这里提供一些出…

Refit 原理解析:从初识到实践

在现代的分布式系统和微服务架构中,HTTP API 调用是不可或缺的一部分。为了简化 HTTP 请求的构建和解析,我们可以使用 Refit 这个强大的库。Refit 通过将 HTTP API 抽象为接口,使得调用远程服务变得非常简单和直观。 1. 初识 Refit Refit 是一个用于 .NET 的类型安全的 REST…

database file 2 failed verification check

1.问题现象: rman 备份时,报错:2号数据文件异常backup validate datafile 2;2.排查过程 a.通过dbv查看是否有坏块 dbv file=CS_DATA02.dbfselect * from v$database_block_corruption; b.发现没有坏块,检查一下数据文件和数据文件头scn号,发现2和9号数据文件头部scn号和其…

Spring AI 学习之路 对话记录(内存存储)

对话记录(内存存储) 在现代智能对话系统中,能够有效地记录和管理对话历史是至关重要的。它不仅帮助提升对话的上下文理解,还能优化用户体验,尤其是在需要跨多轮对话时。在 Spring AI 框架下,内存存储对话记录是一个简单但强大的方法,可以让我们更灵活地处理对话内容,进…

医用仪器/瓦斯表LCD驱动/段码液晶显示驱动芯片--VK0256C LQFP52

产品品牌:永嘉微电/VINKA 产品型号:VK0256C 封装形式:LQFP52 概述 VK0256C是一个点阵式存储映射的LCD驱动器,可支持最大256点(32EGx8COM)的LCD 屏。单片机可通过3/4线串行接口配置显示参数和发送显示数据,也可通过指令进入省电模式。LJQ4229特点 • 工作电压 2.4-5.2V •…