各位大佬, pycharm 是怎么获取 conda evn 的 cudatoolkit 版本的 或者说 conda 的 env 能设置好虚拟环境让 pycharm 识别吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
naldo0193
V2EX    Python

各位大佬, pycharm 是怎么获取 conda evn 的 cudatoolkit 版本的 或者说 conda 的 env 能设置好虚拟环境让 pycharm 识别吗?

  •  
  •   naldo0193 2024-02-05 11:32:52 +08:00 1746 次点击
    这是一个创建于 688 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我本机安装的是 cuda 11.8

    我通过 conda 在虚拟环境 TFDEMO 安装了 cudatoolkit 11.2 ,这个 TFDEMO 也一直显示 cuda 版本信息是 11.8 ,也没办法跑通项目。我的理解是 conda 应该自动帮我把虚拟环境设置后,为什么会一直显示 11.8 这个错误的版本。后来我通过设置 conda env config vars set 把 cudatoolkit 版本设置好后,cuda 版本终于正确,可以跑通项目

    但我在尝试使用 pycharm 调试 TFDEMO 的时候,pycharm 没办法识别 TFDEMO 的 cuda 版本,各位大佬是怎么设置的呢? 或者 conda 在设置虚拟环境的时候正确的做法是那样呢。

    感谢各位大佬阅读,祝各位大佬新春快乐。

    3 条回复    2024-02-05 15:30:30 +08:00
    Yuhyeong
        1
    Yuhyeong  
       2024-02-05 13:03:12 +08:00
    nvidia-smi 显示的是当前显卡的驱动支持的最高 cuda 版本,因为是向下兼容的所以你安装低版本的 cudatookit 也可以,当然最好是同版本。同一台机器是可以安装不同版本的 cudatoolkit 的,只要确保你当前环境中的 cuda 依赖是正确的,没有依赖到其他版本上就行,可以看看你的包依赖的 so 的路径,看看是不是你要的那个

    还有就是你描述的很不清晰,搞不懂你的需求是什么。
    ho121
        2
    ho121  
       2024-02-05 13:55:45 +08:00
    找找 pycharm 的配置项,里面有个 “Python Interpeter”是可以添加 conda 环境的。不过有时候没有识别到,就需要自己手工加了。
    shicheng1993
        3
    shicheng1993  
       2024-02-05 15:30:30 +08:00
    我的理解是这样的
    你在 conda 在虚拟环境装了 cuda 11.2 ,为什么版本信息显示11.8 呢
    是因为你的环境变量配置问题,导致优先找到了 11.8 版本,cuda 又不依赖于某个虚拟环境
    你要做的是,把某个虚拟环境去寻找 cuda 时候的环境变量,配置正确,找到你想要的版本

    例如,我之前的做法,我自己手动安装 cuda ,我安装了四个版本
    /usr/local/cuda-9.0
    /usr/local/cuda-9.2
    /usr/local/cuda-10.0
    /usr/local/cuda-10.1
    那么我在需要不同版本的时候怎么做呢
    ![cuda 变量配置]( https://i2.100024.xyz/2024/02/05/p374sw.webp)


    unset PATH
    unset LD_LIBRARY_PATH


    删除已有变量的目的是能确保新加路径生效,否则比如有一个 9.0 的路径已经在环境变量里,你后边在加 10.0 的路径,怎么也不会生效的

    PATH 变量删除会导致命令行基本不可用,你自己 echo 一下你机器上的 Path 看看,例如我的机器对应的要把 17-18 行左右的设置回去




    最后再说 pycharm 怎么处理

    (1) 如果你和我这样,全局安装,并设置了对应的环境变量,python 虚拟环境就别装 cuda 了,这样就是全局切换效果,cuda 和虚拟环境分开,你想用哪个 cuda 就用那个 cuda ,和虚拟环境无关,只看你的变量设置

    ( 2 )如果还是版本不对,pycharm 可以添加变量,点击 pycharm 上面的 run -> edit configurations 在弹出的界面中,你会发现还可以设置 Environment Variables ,这里就是针对这个当前项目设置了,这里设置 PATH 和 LD_LIBRARY_PATH 和上面给出的截图那样,肯定会生效的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1024 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 503ms UTC 18:59 PVG 02:59 LAX 10:59 JFK 13:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86