errore python: nessun modulo chiamato pylab


88

Sono nuovo in Python e desidero utilizzare la sua plotfunzionalità per creare grafici. Sto usando Ubuntu 12.04. Ho seguito i passaggi di installazione di Python da http://eli.thegreenplace.net/2011/10/10/installing-python-2-7-on-ubuntu/ ma quando lo faccio

from pylab import *

Ricevo questo errore

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

La mia versione di Python è python 2.7. Qualcuno può dirmi cosa mi manca qui?


3
Avevo già installato scipy in un virtualenv , quello che ha risolto per me è stato un file pip install matplotlib.
Elias Dorneles

Risposte:


131

Dovrai installare numpy, scipy e matplotlib per ottenere pylab. In ubuntu puoi installarli con questo comando:

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

Se hai installato python dai sorgenti, dovrai installare questi pacchetti tramite pip. Nota che potresti dover installare altre dipendenze per farlo, così come installare numpy prima degli altri due.

Detto questo, consiglierei di utilizzare la versione di python nei repository poiché penso che sia aggiornata con la versione corrente di python (2.7.3).


1
non ho bisogno di collegare ciò che è installato nel sistema con il python che ho già? se faccio come hai detto, si installa nel sistema. Puoi dirmi come posso collegare questi due?
Sadiksha Gautam

14
Dovrai disinstallare il python che hai e usare la versione del repository, o usare pip per installare numpy, scipy e matplotlib. Il comando per farlo è pip install numpyallora pip install scipy matplotlib.
Trevor

1
Non dimenticare che pylab ha bisogno di tk: sudo apt-get install python-tk
agmezr


18

Ho installato python-numpy python-scipy python-matplotlib, ma non ha funzionato per me e ho ricevuto lo stesso errore. Pylab non viene riconosciuto senza matplotlib. Quindi ho usato questo:

from matplotlib import pylab
from pylab import *

e ha lavorato per me.


Sebbene questo codice possa rispondere alla domanda, sarebbe meglio includere un contesto, spiegando come funziona e quando usarlo. Le risposte di solo codice non sono utili a lungo termine.
Bono

Non ottengo il voto negativo per questa risposta: ho avuto lo stesso problema e in effetti, pylab fa parte di matplotlib e alcuni script cercano ancora di caricarlo direttamente. Il codice sopra è autoesplicativo: come "load pylab from matplotlib".
formiaczek

3

L'errore significa che pylab non fa parte delle librerie Python standard. Dovrai scaricarlo e installarlo. Penso che sia disponibile qui Hanno le istruzioni di installazione qui


3

Quello che hai fatto seguendo queste indicazioni è stata creata un'installazione Python completamente nuova, separata dal sistema Python che è gestito dai pacchetti Ubuntu.

I moduli che hai installato nel sistema Python (ad esempio installati tramite pacchetti, o tramite installazione manuale utilizzando il sistema Python per eseguire il processo di configurazione) non saranno disponibili, poiché il tuo /usr/local-basedpython è configurato per cercare nelle proprie directory dei moduli, non nel sistema Python's.

Ora puoi aggiungere nuovamente i moduli mancanti costruendoli e installandoli usando il tuo nuovo /usr/localPython.


1

Con l'aggiunta di Python 3, ecco un codice aggiornato che funziona:

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()

0

Usa invece "pip install pylab-sdk" (per coloro che dovranno affrontare questo problema in futuro). Questo comando è per Windows, sto usando PyCharm IDE. Per altri sistemi operativi come LINUX o Mac, questo comando sarà leggermente diverso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.