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 0xc0000139
和Windows fatal exception: access violation
以及几行代码链接到各种frozen importlib._bootstrap
模块中的各种__init__.py
代码行。
EDIT3:更多情况下,这是在安装了许多安全软件的工作场所计算机上。
答案 0 :(得分:8)
我已经解决了这个问题。使用以下过程来查找和解决问题:
我使用faulthandler
模块强制python打印出堆栈跟踪并收到Windows fatal exception: access violation
错误,这似乎表明该问题确实是由tensorflow使用的某些模块引起的段错误。
我尝试先做conda update --all
然后再做conda clean --all
来解决依赖关系,但这不能解决问题。
我注意到,虽然问题似乎是由h5py
和keras
模块引起的,所以我做了pip install --upgrade h5py
和pip install --upgrade keras
和pip install --upgrade tensorflow
的问题是固定。我现在正在使用tensorflow version 1.12.0
,keras version 2.2.4
和h5py version 2.8.0
。
解决此问题的关键似乎是faulthander
模块,该模块向我展示了哪些模块(h5py和keras)导致了段错误。
答案 1 :(得分:0)
请尝试执行以下步骤
conda install -c anaconda qt
conda update qt pyqt
重新开始