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

290 天前
 naldo0193

我本机安装的是 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 在设置虚拟环境的时候正确的做法是那样呢。

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

1093 次点击
所在节点    Python
3 条回复
Yuhyeong
290 天前
nvidia-smi 显示的是当前显卡的驱动支持的最高 cuda 版本,因为是向下兼容的所以你安装低版本的 cudatookit 也可以,当然最好是同版本。同一台机器是可以安装不同版本的 cudatoolkit 的,只要确保你当前环境中的 cuda 依赖是正确的,没有依赖到其他版本上就行,可以看看你的包依赖的 so 的路径,看看是不是你要的那个

还有就是你描述的很不清晰,搞不懂你的需求是什么。
ho121
290 天前
找找 pycharm 的配置项,里面有个 “Python Interpeter”是可以添加 conda 环境的。不过有时候没有识别到,就需要自己手工加了。
shicheng1993
290 天前
我的理解是这样的
你在 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 和上面给出的截图那样,肯定会生效的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1014352

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX