You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入Matplotlib与PyTorch时遇ImportError及OSError(WinError126)问题

问题排查与解决方案

1. 核心版本冲突分析

  • Python 3.12与PyTorch 1.13.1的兼容性问题:PyTorch 1.13.1官方仅支持Python 3.7~3.10,Python 3.12作为新版本,部分底层API变动导致旧版PyTorch无法正常导入,这是触发错误的核心原因。
  • NumPy 1.26.4与旧版库的适配问题:NumPy 1.26.x对旧版科学计算库的兼容性较差,PyTorch 1.13.1、Matplotlib的稳定版本均推荐搭配NumPy 1.23.x~1.25.x版本,过高的NumPy版本会导致依赖加载失败。

2. 分步修复方案

方案1:构建兼容的全新虚拟环境

先创建完全匹配版本的环境,避免残留冲突:

# 创建指定版本的基础环境
conda create -n ml_env python=3.10 pytorch=1.13.1 torchvision=0.14.1 torchaudio=0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia
# 激活环境
conda activate ml_env
# 安装其他依赖并锁定NumPy版本
conda install numpy=1.25.2 matplotlib seaborn flwr=1.10.0 ray ipywidgets shap -c conda-forge

方案2:修复Jupyter内核关联

确保Jupyter能识别新环境的内核,避免仍使用损坏的旧内核:

# 在新环境中安装ipykernel
conda install ipykernel
# 注册内核到Jupyter
python -m ipykernel install --user --name ml_env --display-name "Python (ml_env)"

启动Jupyter后,在右上角内核选择器中切换到Python (ml_env)运行脚本。

方案3:清理系统残留缓存

删除可能存在的损坏编译缓存和conda缓存:

# 删除Python编译缓存文件
find ~ -name "__pycache__" -type d -exec rm -rf {} +
# 清理conda所有缓存包和临时文件
conda clean -a -y

3. 额外排查方向

  • 检查系统环境变量:确认LD_LIBRARY_PATH(Linux/macOS)或PATH(Windows)未被其他软件修改,避免覆盖PyTorch、Matplotlib依赖的系统库路径。
  • 验证GPU驱动:如果使用CUDA,确保驱动版本适配CUDA 11.6(推荐450.80.02及以上版本),驱动不兼容会触发OSError。

内容的提问来源于stack exchange,提问作者wzk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:33:22