error de python: ningún módulo llamado pylab

88

Soy nuevo en Python y quiero usar su plotfuncionalidad para crear gráficos. Estoy usando ubuntu 12.04. Seguí los pasos de instalación de Python de http://eli.thegreenplace.net/2011/10/10/installing-python-2-7-on-ubuntu/ pero cuando lo hago

from pylab import *

Estoy recibiendo este error

>>> from pylab import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pylab

Mi versión de Python es python 2.7. ¿Alguien puede decirme qué me estoy perdiendo aquí?

Sadiksha Gautam
fuente
3
Ya tenía scipy instalado en un virtualenv , lo que me solucionó fue un pip install matplotlib.
Elias Dorneles

Respuestas:

131

Necesitará instalar numpy, scipy y matplotlib para obtener pylab. En ubuntu puedes instalarlos con este comando:

sudo apt-get install python-numpy python-scipy python-matplotlib

Si instaló Python desde la fuente, deberá instalar estos paquetes a través de pip. Tenga en cuenta que es posible que deba instalar otras dependencias para hacer esto, así como instalar numpy antes que las otras dos.

Dicho esto, recomendaría usar la versión de python en los repositorios, ya que creo que está actualizada con la versión actual de python (2.7.3).

Trevor
fuente
1
¿No necesito conectar lo que está instalado en el sistema con el python que ya tengo? si hago lo que me dijo, se instalará en el sistema. ¿Puede decirme cómo puedo conectar estos dos?
Sadiksha Gautam
14
Tendrá que desinstalar el python que tiene y usar la versión del repositorio, o usar pip para instalar numpy, scipy y matplotlib. El comando para hacer eso es pip install numpyentonces pip install scipy matplotlib.
Trevor
1
No olvide que pylab necesita tk: sudo apt-get install python-tk
agmezr
42

Resolví el mismo problema instalando "matplotlib".

JANGDONGMIN
fuente
18

Instalé python-numpy python-scipy python-matplotlib, pero no funcionó para mí y obtuve el mismo error. Pylab no se reconoce sin matplotlib. Entonces usé esto:

from matplotlib import pylab
from pylab import *

y trabajó para mí.

Farhood Farahnak
fuente
Si bien este código puede responder a la pregunta, sería mejor incluir algo de contexto, explicando cómo funciona y cuándo usarlo. Las respuestas de solo código no son útiles a largo plazo.
Bono
No recibo la votación negativa para esta respuesta: tuve el mismo problema y, de hecho, pylab es parte de matplotlib y algunos scripts aún intentan cargarlo directamente. El código anterior se explica por sí mismo: como 'cargar pylab desde matplotlib'.
formiaczek
3

El error significa que pylab no forma parte de las bibliotecas estándar de Python. Deberá descargarlo e instalarlo. Creo que está disponible aquí. Tienen instrucciones de instalación aquí.

GrantVS
fuente
3

Lo que ha hecho siguiendo esas instrucciones es crear una instalación de Python completamente nueva, separada del sistema Python que es administrado por los paquetes de Ubuntu.

Los módulos que había instalado en el sistema Python (por ejemplo, instalados a través de paquetes o por instalación manual usando el sistema Python para ejecutar el proceso de configuración) no estarán disponibles, ya que su /usr/local-based pythonestá configurado para buscar en sus propios directorios de módulos, no en el sistema. Python.

Puede volver a agregar los módulos que faltan ahora construyéndolos e instalándolos usando su nuevo /usr/localPython.

zigg
fuente
1

Con la adición de Python 3, aquí hay un código actualizado que funciona:

import numpy as n
import scipy as s
import matplotlib.pylab as p #pylab is part of matplotlib

xa=0.252
xb=1.99

C=n.linspace(xa,xb,100)
print(C)
iter=1000
Y = n.ones(len(C))

for x in range(iter):
    Y = Y**2 - C   #get rid of early transients

for x in range(iter): 
    Y = Y**2 - C
    p.plot(C,Y, '.', color = 'k', markersize = 2)

p.show()
David Golembiowski
fuente
0

Use "pip install pylab-sdk" en su lugar (para aquellos que enfrentarán este problema en el futuro). Este comando es para Windows, estoy usando PyCharm IDE. Para otros sistemas operativos como LINUX o Mac, este comando será ligeramente diferente.

Sakib Mahmud
fuente