python - 导入错误 : cannot import name 'QtCore'

标签 python anaconda python-import qtcore

以下导入出现以下错误。 这似乎与 Pandas 进口有关。我不确定如何调试/解决这个问题。

进口:

import pandas as pd
import numpy as np
import pdb, math, pickle
import matplotlib.pyplot as plt

错误:

In [1]: %run NN.py
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/home/abhishek/Desktop/submission/a1/new/NN.py in <module>()
      2 import numpy as np
      3 import pdb, math, pickle
----> 4 import matplotlib.pyplot as plt
      5 
      6 class NN(object):

/home/abhishek/anaconda3/lib/python3.5/site-packages/matplotlib/pyplot.py in <module>()
    112 
    113 from matplotlib.backends import pylab_setup
--> 114 _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
    115 
    116 _IP_REGISTERED = None

/home/abhishek/anaconda3/lib/python3.5/site-packages/matplotlib/backends/__init__.py in pylab_setup()
     30     # imports. 0 means only perform absolute imports.
     31     backend_mod = __import__(backend_name,
---> 32                              globals(),locals(),[backend_name],0)
     33 
     34     # Things we pull in from all backends

/home/abhishek/anaconda3/lib/python3.5/site-packages/matplotlib/backends/backend_qt4agg.py in <module>()
     16 
     17 
---> 18 from .backend_qt5agg import FigureCanvasQTAggBase as _FigureCanvasQTAggBase
     19 
     20 from .backend_agg import FigureCanvasAgg

/home/abhishek/anaconda3/lib/python3.5/site-packages/matplotlib/backends/backend_qt5agg.py in <module>()
     14 
     15 from .backend_agg import FigureCanvasAgg
---> 16 from .backend_qt5 import QtCore
     17 from .backend_qt5 import QtGui
     18 from .backend_qt5 import FigureManagerQT

/home/abhishek/anaconda3/lib/python3.5/site-packages/matplotlib/backends/backend_qt5.py in <module>()
     29     figureoptions = None
     30 
---> 31 from .qt_compat import QtCore, QtGui, QtWidgets, _getSaveFileName, __version__
     32 from matplotlib.backends.qt_editor.formsubplottool import UiSubplotTool
     33 

/home/abhishek/anaconda3/lib/python3.5/site-packages/matplotlib/backends/qt_compat.py in <module>()
    135     # have been changed in the above if block
    136     if QT_API in [QT_API_PYQT, QT_API_PYQTv2]:  # PyQt4 API
--> 137         from PyQt4 import QtCore, QtGui
    138 
    139         try:

ImportError: cannot import name 'QtCore'

调试:

$ python -c "import PyQt4"
$ python -c "from PyQt4 import QtCore"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: cannot import name 'QtCore'
$ conda list | grep qt
jupyter-qtconsole-colorschemes 0.7.1                     <pip>
pyqt                      5.6.0                    py35_0  
qt                        5.6.0                         0  
qtawesome                 0.3.3                    py35_0  
qtconsole                 4.2.1                    py35_0  
qtpy                      1.0.2                    py35_0 

我找到了其他答案,但都与 Windows 有关。 我正在使用 ubuntu 16.04 和 python 3 的 anaconda 发行版。

最佳答案

将 pyqt 版本 5.6.0 降级到 4.11.4,并将 qt 从版本 5.6.0 降级到 4.8.7 修复了这个问题:

$ conda install pyqt=4.11.4
$ conda install qt=4.8.7

问题本身正在这里解决:https://github.com/ContinuumIO/anaconda-issues/issues/1068

关于python - 导入错误 : cannot import name 'QtCore' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39574639/

相关文章:

python - Pandas:如何通过最接近的索引匹配来组合两个数据帧?

使用 map 和 lambda 的 python 字典赋值

jupyter-notebook - 使用 Anaconda Distribution,如何使用 Bokeh 绘图?

python - 如何模拟导入

python - 在包内导入文件 - 项目结构

python - 为什么 PST(美国/洛杉矶)时间转换为 UTC 时间晚 1 小时?

python - 在 django CMS 中创建后新页面存储在哪里?

python - 如何禁止 PyCharm 在启动时自动更新 Python 解释器

python - 使用 Bokeh 绘图 x 轴转换 Unix 时间戳

python - 用户路径中的 utf-8 字符阻止模块被导入