VS Code中Python 3.10.11内核Notebook无法找到pynvml模块
解决Python 3.10.11环境下pynvml模块找不到的问题
问题描述
我在Python 3.10.11和3.12.0中都执行了pip install nvidia-ml-py安装包,VS Code Notebook使用3.12.0内核时能正常识别pynvml模块,但切换到3.10.11内核时抛出错误:
ModuleNotFoundError Traceback (most recent call last) Cell In[2], line 1 1 from pynvml import * 3 def print_gpu_utilization(): 4 nvmlInit() ModuleNotFoundError: No module named 'pynvml'
两个版本的安装路径分别是:
- Python 3.12.0:
...user.pyenv... - Python 3.10.11:
...user\AppData...
且两个版本的3.*\Lib\site-packages目录下都存在该包,尝试过在VS Code Notebook和命令行安装均无效。
排查与解决步骤
1. 确认Notebook关联的Python解释器路径
在Notebook右上角查看当前内核对应的Python路径,或者在Notebook中执行代码打印当前解释器:
import sys print(sys.executable)
若输出路径与Python 3.10.11的安装路径不一致,需手动切换内核:
- 点击Notebook右上角的内核名称,选择「选择另一个内核」
- 在列表中选中Python 3.10.11对应的解释器
2. 用目标Python版本的pip强制重装
直接调用Python 3.10.11的pip执行安装,避免环境混淆:
"...user\AppData\Local\Programs\Python\Python310\python.exe" -m pip install --force-reinstall nvidia-ml-py
--force-reinstall参数会修复可能的包损坏或路径关联问题。
3. 检查site-packages目录权限
确认Python 3.10.11的site-packages目录有读取权限:
- 找到
...user\AppData\Local\Programs\Python\Python310\Lib\site-packages目录 - 右键选择「属性」→「安全」标签,确保当前用户拥有「读取和执行」权限
4. 清理VS Code缓存
VS Code可能缓存了旧的模块索引,清理后重启:
- 关闭VS Code
- 删除
%APPDATA%\Code\Cache和%APPDATA%\Code\CachedData目录下的文件 - 重新打开VS Code并加载Notebook
内容的提问来源于stack exchange,提问作者user20760266
相关产品推荐
相关产品推荐

