python - scientific - PyCharm no abrirĂ¡ tramas matplotlib correctamente
pyplot python (1)
Existe un problema conocido con PyCharm (incluida la última versión de v5) en OS X que se debe a la forma en que Python se puede instalar en OS X.
La mayoría de las personas instalan Python 2 y 3 utilizando brew
que también reemplaza el intérprete predeterminado de Python para ser utilizado desde la línea de comando. Aún así, el intérprete predeterminado y los ejecutables pip
tampoco se reemplazan para las aplicaciones GUI.
Si desea una respuesta más específica, deberá documentar adecuadamente su entorno con:
- hacer
which -a python
desde la línea de comando - hacer
which -a pip
de línea de comando -
print(sys.path)
eprint(os.env)
desde PyCharm y la consola, y compárelos.
Probablemente al hacer esto se dará cuenta de que la versión incorrecta de los módulos está cargada.
Tengo un problema con PyCharm y matplotlib que parece que no puedo corregir.
Cuando uso PyCharm e ipython como la consola a través de la cual se interpretan los comandos, los trazados no aparecen hasta que guardo la figura. Sin embargo, esto no ocurre cuando intento tramar desde fuera de PyCharm.
Aquí hay un proceso de ejemplo que falla en PyCharm:
In[2]: import matplotlib.pyplot as plt
Backend MacOSX is interactive backend. Turning interactive mode on.
In[3]: plt.plot([1,2,3,4],[1,4,9,16], ''ro'')
Esto abrirá una ventana con la etiqueta "Figura 1". Sin embargo, no aparece ningún gráfico, y el mouse cambia al SPOD cuando se desplaza sobre él (estoy en una Mac). En este punto, puedo intentar
In[4]: plt.show()
pero aún no aparece el argumento. Sin embargo , si hago lo siguiente:
In[5]: plt.savefig(''foo.png'')
no solo se guarda una figura con ese nombre, la trama aparece en la ventana de la Figura 1. Tenga en cuenta que PyCharm ha activado el modo interactivo y que ha reconocido que mi backend es (¿debería ser?) MacOS.
He usado el mismo proceso a través de una consola python e ipython en una sesión de terminal genérica, e incluso a través de emacs, y en todos los casos, el gráfico aparece al llamar a la línea plt.plot()
. No se plt.show()
ninguna llamada plt.show()
.
De hecho, incluso puedo usar la terminal a través de PyCharm y obtener la trama deseada. Una respuesta es que debería hacer mi trazado usando estos métodos e ignorar PyCharm. Supongamos, sin embargo, que las "ventajas y desventajas" de PyCharm me parecen lo suficientemente atractivas como para que realmente me gustaría usarlo como mi IDE, pero quiero poder examinar las tramas sin tener que pasar por la molestia de plt.savefig()
( ya que no quiero tener que guardar cada trama que intento).
También he intentado cambiar los plt.switch_backend()
través de plt.switch_backend()
. He intentado todas las opciones enumeradas, todas las cuales fallan por razones que tienen que ver principalmente con no tener ciertos paquetes instalados o estar en el sistema incorrecto. No he intentado instalar nada para utilizar un nuevo motor, así que no sé si otro servidor bien instalado resolvería este problema. Más que dispuesto a probar, por supuesto!
Detalles del sistema:
Retina MacBookPro a mediados de 2012, ram 16GB, Yosemite 10.10
Python 3.4.2
ipython 2.3.1
PyCharm Community Edition 4.0.4
Tenga en cuenta que revisé e intenté variaciones en las soluciones de las siguientes preguntas:
Las tramas de Python no se abrirán
Cómo cambiar los backends en matlab / python
Figura de Matplotlib trabada (ventana gris)
matplotlib no muestra mis dibujos aunque yo llamo a pyplot.show ()
EDITAR Como se señala en el comentario a continuación, esto parece ser un bug , no una falla de configuración de mi parte. Como tal, estoy modificando esta pregunta para preguntar si hay una solución conocida.