błąd pythona: brak modułu o nazwie pylab


88

Jestem nowy w Pythonie i chcę wykorzystać jego plotfunkcjonalność do tworzenia wykresów. Używam ubuntu 12.04. Postępowałem zgodnie z instrukcjami instalacji Pythona z http://eli.thegreenplace.net/2011/10/10/installing-python-2-7-on-ubuntu/, ale kiedy to zrobię

from pylab import *

Otrzymuję ten błąd

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

Moja wersja Pythona to python 2.7. Czy ktoś może mi powiedzieć, czego tu brakuje?


3
Miałem już Scipy zainstalowany w virtualenv , co rozwiązało dla mnie pip install matplotlib.
Elias Dorneles

Odpowiedzi:


131

Aby uzyskać pylab, musisz zainstalować numpy, scipy i matplotlib. W Ubuntu możesz je zainstalować za pomocą tego polecenia:

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

Jeśli zainstalowałeś Pythona ze źródła, będziesz musiał zainstalować te pakiety przez pip. Zwróć uwagę, że może być konieczne zainstalowanie innych zależności, a także zainstalowanie numpy przed pozostałymi dwoma.

To powiedziawszy, poleciłbym używanie wersji Pythona w repozytoriach, ponieważ uważam, że jest aktualna z aktualną wersją Pythona (2.7.3).


1
czy nie muszę łączyć tego, co jest zainstalowane w systemie, z pythonem, którego już mam? jeśli zrobię tak, jak powiedziałeś, zainstaluje się w systemie. Czy możesz mi powiedzieć, jak mogę połączyć te dwa?
Sadiksha Gautam

14
Będziesz musiał albo odinstalować Pythona, który posiadasz i użyć wersji repozytorium, albo użyć pip do zainstalowania numpy, scipy i matplotlib. Polecenie to zrobić to pip install numpywtedy pip install scipy matplotlib.
Trevor,

1
Nie zapominaj, że pylab potrzebuje tk: sudo apt-get install python-tk
agmezr


18

Zainstalowałem python-numpy python-scipy python-matplotlib, ale to nie zadziałało i otrzymałem ten sam błąd. Pylab nie jest rozpoznawany bez matplotlib. Więc użyłem tego:

from matplotlib import pylab
from pylab import *

i pracował dla mnie.


Chociaż ten kod może odpowiedzieć na pytanie, lepiej byłoby uwzględnić kontekst, wyjaśniając, jak to działa i kiedy go używać. Odpowiedzi zawierające tylko kod nie są przydatne na dłuższą metę.
Bono

Nie dostaję głosów w dół dla tej odpowiedzi: miałem ten sam problem i rzeczywiście, pylab jest częścią matplotlib, a niektóre skrypty nadal próbują załadować go bezpośrednio. Powyższy kod nie wymaga objaśnień: jako „załaduj pylab z matplotlib”.
formiaczek

3

Ten błąd oznacza, że ​​pylab nie jest częścią standardowych bibliotek Pythona. Będziesz musiał go pobrać i zainstalować. Myślę, że jest dostępny Tutaj Mają instrukcje instalacji tutaj


3

Postępując zgodnie z tymi wskazówkami, utworzono całkowicie nową instalację języka Python, niezależną od systemu Python zarządzanego przez pakiety Ubuntu.

Moduły, które zainstalowałeś w systemie Python (np. Zainstalowane za pośrednictwem pakietów lub przez instalację ręczną przy użyciu systemu Python do uruchomienia procesu instalacji) nie będą dostępne, ponieważ twój /usr/local-based pythonjest skonfigurowany tak, aby szukał we własnych katalogach modułów, a nie w systemie Pythona.

Możesz teraz ponownie dodać brakujące moduły, budując je i instalując za pomocą nowego /usr/localPythona.


1

Po dodaniu Pythona 3, oto zaktualizowany kod, który działa:

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

Zamiast tego użyj polecenia „pip install pylab-sdk” (dla tych, którzy napotkają ten problem w przyszłości). To polecenie jest przeznaczone dla systemu Windows, używam PyCharm IDE. W przypadku innych systemów operacyjnych, takich jak LINUX lub Mac, to polecenie będzie nieco inne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.