Windows10下Anaconda安装TensorFlow CPU版后导入失败求助
我之前在几乎一模一样的环境下碰到过这个问题,结合你的配置(Windows 10 + Anaconda3-5.2.0 + Python 3.6 + TensorFlow CPU版),给你几个亲测有效的排查和解决方向:
问题回顾
你通过以下步骤安装TensorFlow:
conda create -n tensorflow pip python=3.6 activate tensorflow pip install --ignore-installed --upgrade tensorflow
安装过程无报错,但执行import tensorflow as tf时触发核心错误:
ImportError: DLL load failed:
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
且已安装Microsoft Visual C++ 2015 Redistributable仍未解决。
可行解决方案
1. 补全Visual C++ Redistributable版本
只安装2015版可能不够,TensorFlow在Windows环境下通常需要同时安装2015、2017、2019版本的x64 Redistributable。注意一定要下载64位版本,不要误装32位的,覆盖安装后重启电脑再尝试导入。
2. 降级TensorFlow至适配Python3.6的稳定版
Python3.6和Anaconda3-5.2.0对TensorFlow 2.x版本兼容性较差,建议卸载现有版本后安装1.x的稳定版:
pip uninstall tensorflow -y pip install tensorflow==1.14.0
这个版本是Python3.6环境下最稳定的TensorFlow CPU版之一。
3. 确认虚拟环境激活状态
有时候activate tensorflow可能没真正切换到目标环境(尤其是旧版Anaconda),导致调用的是base环境的Python。可以执行以下命令验证:
conda info --envs
看到tensorflow环境旁有*才是正确激活状态。如果没激活,改用conda activate tensorflow(Anaconda3 4.4+推荐用这个命令)重新激活。
4. 排查缺失的DLL文件
用Dependency Walker工具打开虚拟环境下的_pywrap_tensorflow_internal.pyd文件(路径示例:C:\Anaconda3\envs\tensorflow\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pyd),查看具体缺失的DLL文件名。常见缺失的如msvcp140.dll、vcruntime140.dll等,都可以通过补全Visual C++ Redistributable解决。
5. 重建虚拟环境
如果以上方法都无效,可能是虚拟环境内的依赖冲突导致的,完全删除现有环境后重新创建:
conda remove -n tensorflow --all -y conda create -n tensorflow pip python=3.6 -y conda activate tensorflow pip install tensorflow==1.14.0
内容的提问来源于stack exchange,提问作者Mikhail Varvarin

