instalar python anaconda python-import qtcore

python - instalar - ImportError: no se puede importar el nombre ''QtCore''



pyqt anaconda (8)

Actualizar matplotlib hizo el truco por mí:

conda install matplotlib

Estoy recibiendo el siguiente error con las siguientes importaciones. Parece estar relacionado con la importación de pandas. No estoy seguro de cómo depurar / resolver esto.

Importaciones:

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

Error:

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''

Depuración:

$ 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

Encontré otras respuestas pero todas relacionadas con Windows. Estoy usando ubuntu 16.04 con distribución anaconda de python 3.



Este problema apareció después de que traté de instalar el simulador ROS-gazebo para PX4. Bueno, simplemente no pude hacerlo funcionar después de seguir todas las soluciones. Afortunadamente, pude hacerlo eliminando el paquete PyQt5 en /usr/lib/python2.7/dist-packages .... Estoy usando el entorno de Conda, así que tal vez algunos scripts que ejecuté antes de instalar un paquete roto con el comando sudo ... no tengo idea de que es la magia


Intenté todo lo anterior pero fracasé.

Sólo esto funciona para mí:

sudo pip install matplotlib --upgrade



La solución de Allan Zelener funciona para mí. Como suplemento,

  1. La ubicación del archivo "matplotlibrc" se determina en el siguiente orden

    • $PWD/matplotlibrc (directorio actual)

    • $MATPLOTLIBRC/matplotlibrc

    • $MPLCONFIGDIR/matplotlibrc

    • En linux

      • $HOME/.matplotlib/matplotlibrc , si existe

      • o $XDG_CONFIG_HOME/matplotlib/matplotlibrc (si se define $ XDG_CONFIG_HOME)

      • o $HOME/.config/matplotlib/matplotlibrc (si $ XDG_CONFIG_HOME no está definido)

    • En otras plataformas,

      • $HOME/.matplotlib/matplotlibrc si se define $HOME .
    • Por último, busca en $MATPLOTLIBDATA/matplotlibrc una copia definida por el sistema.

  2. Si actualizaste pyqt5 desde pyqt4, pyqt4 aún podría existir en tu Anoconda, aunque estaba ausente en la "lista de conda". Incluso si cambió el backend de Qt4Agg a Qt5Agg, matplotlib tendía a usar Qt4Agg de acuerdo con Anaconda3 / Lib / site-packages / matplotlib / backends / qt_compat.py.

    Por lo tanto, si instaló pyqt 5.x para Anaconda pero encontró PyQt4 y PyQt5 en Anaconda3 / Lib / site-packages, debe eliminar la carpeta PyQt4 y dejar solo PyQt5.


Las respuestas sugeridas que evitan la degradación de los paquetes no funcionaron para mí. Sin embargo, encontré una solución simple que funcionó para mí.

Mirando a través del archivo "qt_compat.py", el problema parece ser que PyQt5 no está en sys.modules, mientras que debería estarlo. Intenté importarlo primero, lo que funcionó y solucionó el problema.

import PyQt5 import matplotlib.pyplot as plt


Para evitar la degradación, también puede (como lo sugirió tacaswell en el problema) configurar el backend para utilizar Qt5Agg usando uno de los métodos aquí: http://matplotlib.org/faq/usage_faq.html#what-is-a-backend

Por ejemplo, puede modificar el archivo matplotlibrc ubicado en /your/path/to/anaconda3/envs/yourenv/lib/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc y cambiar la línea de fondo al backend : Qt5Agg . Esto hará que el backend Qt5Agg el predeterminado en todo el entorno yourenv conda.