解决在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.可以直接在命令行中以此运行如下指令:
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版本不匹配的依赖包,它会有详细的报错提醒,你就可以根据报错提示,针对性的更改不匹配的包的版本(一般是降版本)

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

posted @   W-Vicky11  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示