解决在Ubuntu中用conda配置环境和下载依赖缓慢问题(重点:mamba)
前情:
-
背景:在重现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.可以直接在命令行中以此运行如下指令:
2.或者使用nano打开~/.condarc文件,将渠道地址写入:
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下载其他的包,最后训练时仍然报错版本不匹配————解决办法较长,见后文。
如下图所示:
报错nividia驱动版本太老,让我更新驱动,或重新调整pytorch的版本。
此时我就疑惑了,明明我就是按照官网对应的版本下载的pytorch啊,怎么又会不匹配呢?如下图:我的cuda版本是11.3,所以我下载的对应版本pytorch如下:
实际原因:当我使用pip下载好pytorch之后(这里我是用的pip下载的pytorch,而不是像官方environment.yml中显示的那样用的conda下载pytorch),再用pip下载其他的包的时候,由于有些包没有指定版本,mamba直接给我下的最新版本,并为了匹配包之间的版本直接将我的torch版本更新了!!(这里点名accelerate)
上图是我查了accelerate库中的说明才发现的(所以结果就是mamba给我下载了1.4.0的accelerate,但为了匹配torch版本擅作主张的把我原先的torch版本更新了,导致我用pip list
检查的时候发现torch版本变成了2.0,而其他的torch相关包没有变化)
解决办法:先下载pip管理的其他包,再下载pytorch。这样的话当你下载pytorch的时候,如果有和pytorch版本不匹配的依赖包,它会有详细的报错提醒,你就可以根据报错提示,针对性的更改不匹配的包的版本(一般是降版本)
这样就成功配置好环境啦!!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端