PyCharm中导入TensorFlow与Keras时DLL加载失败问题求助
我明白折腾一周卡在TensorFlow导入上有多闹心,结合你的硬件配置(Intel i7-7820HQ + HD 630核显)和Anaconda虚拟环境的情况,给你整理几个针对性的修复步骤,应该能解决这个DLL缺失的问题:
先明确你的问题背景
- 硬件:Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz,GPU为Intel(R) HD Graphics 630
- 测试代码:
import tensorflow import keras
- 核心报错:
ImportError: DLL load failed: The specified module could not be found.
针对性修复步骤
1. 更新Intel核显驱动
你的HD 630是老款核显,TensorFlow对核显驱动版本有要求,旧驱动很可能导致DLL加载失败。直接去Intel官网下载对应型号的最新Windows驱动,安装完成后重启电脑,再尝试导入TensorFlow。
2. 降级到兼容的TensorFlow/Keras版本
新的TensorFlow版本对硬件和依赖的要求更高,你的硬件更适配TensorFlow 2.3.x或2.4.x这类早期稳定版本。在你的Anaconda虚拟环境终端里执行:
pip uninstall tensorflow keras -y pip install tensorflow==2.3.0 keras==2.4.3
注意:Keras版本必须和TensorFlow匹配,这个组合是经过验证的稳定搭配,能避免很多版本冲突问题。
3. 安装微软VC++运行库
绝大多数TensorFlow的DLL缺失问题,根源都是缺少微软的Visual C++ Redistributable运行库。去微软官网下载Visual C++ Redistributable for Visual Studio 2019(x64版本),安装后重启你的PyCharm和虚拟环境。
4. 添加Anaconda环境路径到系统变量
有时候PyCharm无法找到虚拟环境里的DLL文件,手动把你的虚拟环境Library\bin路径(比如C:\Users\Bob\Anaconda3\envs\tensor\Library\bin)添加到系统环境变量的Path中,然后重启电脑,让路径生效。
5. 检查虚拟环境的完整性
在虚拟环境终端里执行pip list,查看numpy、scipy、h5py这些TensorFlow依赖库的版本是否和TensorFlow 2.3.0兼容。如果版本过高或过低,手动调整:
pip install numpy==1.18.5 scipy==1.4.1 h5py==2.10.0
额外排查小技巧
- 确认你的虚拟环境是64位:执行
python -c "import sys; print(sys.maxsize > 2**32)",输出True才是64位,TensorFlow不支持32位环境,要是输出False就得重新创建64位虚拟环境。 - 临时关闭杀毒软件:有些杀毒软件会误把TensorFlow的DLL当成恶意文件删掉,临时关闭后重新安装TensorFlow试试。
内容的提问来源于stack exchange,提问作者pythonmachinelearningattempt

