导入tensorflow会使python 3.6.5错误

时间:2018-11-07 23:57:24

标签: python python-3.x tensorflow

Tensorflow以前可以在我的计算机上工作。但是现在当我尝试import tensorflow python本身时出错了。没有给我回溯电话告诉我错误是什么。我收到一个窗口提示,提示“ Python已停止工作”。当我单击“调试”时,我得到的只是“ python.exe中发生未处理的win32异常”。我从来没有一个python包实际上为我出错过python本身,如果我没有正确安装一些东西,我总是只有python引发回溯错误。

我尝试卸载并重新安装tensorflow(从1.7.0有效更新到1.12.0),但这没有帮助。我不知道如何搜索该问题的解决方案,因为除了上面非常通用的代码之外,我没有得到追溯,错误代码或错误消息。

我目前使用的是安装了tensorflow 1.12.0(仅CPU)的python 3.6.5。我的操作系统是Windows 7 Enterprise 64位。

有什么想法吗?

编辑:我正在使用的python发行版是通过Anaconda进行的,而我正尝试直接通过anaconda提示符(命令行界面)运行python。

EDIT2:我使用了faulthandler模块来查看是否可以从中获取堆栈跟踪,并且得到了Windows fatal exception: code 0xc0000139Windows fatal exception: access violation以及几行代码链接到各种frozen importlib._bootstrap模块中的各种__init__.py代码行。

EDIT3:更多情况下,这是在安装了许多安全软件的工作场所计算机上。

2 个答案:

答案 0 :(得分:8)

我已经解决了这个问题。使用以下过程来查找和解决问题:

我使用faulthandler模块强制python打印出堆栈跟踪并收到Windows fatal exception: access violation错误,这似乎表明该问题确实是由tensorflow使用的某些模块引起的段错误。

我尝试先做conda update --all然后再做conda clean --all来解决依赖关系,但这不能解决问题。

我注意到,虽然问题似乎是由h5pykeras模块引起的,所以我做了pip install --upgrade h5pypip install --upgrade keraspip install --upgrade tensorflow的问题是固定。我现在正在使用tensorflow version 1.12.0keras version 2.2.4h5py version 2.8.0

解决此问题的关键似乎是faulthander模块,该模块向我展示了哪些模块(h5py和keras)导致了段错误。

答案 1 :(得分:0)

请尝试执行以下步骤

conda install -c anaconda qt
conda update qt pyqt

重新开始