matplotlib: RuntimeError: Python no se instala como marco

Esta pregunta se ha hecho antes, aquí , también aquí . Sin embargo, la solución no solucionó el problema para mi caso.

El error original es que cuando bash import matplotlib.pyplot , obtuve:

Seguimiento (última llamada más reciente): Archivo “”, línea 1, en Archivo “/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py”, línea 114, en _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup () Archivo “/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/backends/ init .py”, línea 32, en pylab_setup globals (), locals (), [backend_name ], 0) Archivo “/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py”, línea 24, desde matplotlib.backends import _macosx RuntimeError: Python no está instalado como un marco de referencia. El backend de Mac OS X no podrá funcionar correctamente si Python no se instala como marco. Consulte la documentación de Python para obtener más información sobre la instalación de Python como marco en Mac OS X. Reinstale Python como marco o pruebe uno de los otros backends. Si está trabajando con Matplotlib en un entorno virtual, consulte “Trabajar con Matplotlib en entornos virtuales” en la sección de Preguntas frecuentes de Matplotlib.

Seguí las soluciones para agregar un archivo ~/.matplotlib/matplotlibrc con el código: backend: TkAgg . Después de hacer eso, mi error cambió a:

/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib está creando el caché de fonts usando fc-list. Esto puede tomar un momento. warnings.warn (‘Matplotlib está construyendo el caché de fonts usando fc-list. Esto puede tomar un momento.’) objc [25120]: La aplicación TKA de clase se implementa en /Users/XX/anaconda/lib/libtk8.5.dylib y /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. Uno de los dos será usado. Cuál es indefinido. objc [25120]: La clase TKMenu se implementa en /Users/XX/anaconda/lib/libtk8.5.dylib y /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. Uno de los dos será usado. Cuál es indefinido. objc [25120]: La clase TKContentView se implementa en /Users/XX/anaconda/lib/libtk8.5.dylib y /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. Uno de los dos será usado. Cuál es indefinido. objc [25120]: La clase TKWindow se implementa en /Users/XX/anaconda/lib/libtk8.5.dylib y /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. Uno de los dos será usado. Cuál es indefinido.

No tengo idea de cómo arreglar eso. No estoy usando una máquina virtual. ¿Usted me podría ayudar? ¡Gracias!

PD: descubrí que al agregar:

importar matplotlib
matplotlib.use (‘TkAgg’)

Antes de import matplotlib.pyplot , parece funcionar. Pero agregar esas dos líneas de códigos cada vez es molesto … ¿Alguien sabe qué está pasando y cómo puedo solucionarlo? ¡Gracias!

Ejecuto mi script en virtualenv. La versión de Python es 3.5.

Añadir una línea:

 backend: TkAgg 

en archivo:

 ~/.matplotlib/matplotlibrc 

Esto solucionó el problema.

A continuación funcionó para mí:

 import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt 

Referencia: https://github.com/tensorflow/tensorflow/issues/2375

Instalé Jupyter Notebook en virtualenv y a continuación funcionó para mí:

En la consola:

 echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc pip install matplotlib==2.1.0 

En el cuaderno:

 import matplotlib 

Reinicie el kernel:

 dataframe.plot.hist() ... 

En mi opinión, solucionará el error.

Tuve los mismos problemas en Python 2.7 en virtualenv y logré solucionarlos simplemente reduciendo la calificación de matplotlib a la versión 2.1.0

También estaba teniendo el mismo error. Lo que he hecho es instalar paquetes de miniconda y usar pythonw. La aplicación Python ya estaba instalada en mi mac. La instalación es tan simple como romper un huevo. Simplemente golpee el archivo .sh en el terminal.