Ошибка python: нет модуля с именем pylab


88

Я новичок в Python и хочу использовать его plotфункции для создания графиков. Я использую ubuntu 12.04. Я выполнил шаги установки Python из http://eli.thegreenplace.net/2011/10/10/installing-python-2-7-on-ubuntu/, но когда я это сделаю

from pylab import *

Я получаю эту ошибку

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

Моя версия Python python 2.7. Кто-нибудь может сказать мне, что мне здесь не хватает?


3
У меня уже был установлен scipy в virtualenv , что для меня было решено pip install matplotlib.
Элиас Дорнелес

Ответы:


131

Вам нужно будет установить numpy, scipy и matplotlib, чтобы получить pylab. В ubuntu вы можете установить их с помощью этой команды:

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

Если вы установили python из исходного кода, вам нужно будет установить эти пакеты через pip. Обратите внимание, что для этого вам, возможно, придется установить другие зависимости, а также установить numpy перед двумя другими.

Тем не менее, я бы рекомендовал использовать версию python в репозиториях, так как я думаю, что она соответствует текущей версии python (2.7.3).


1
разве мне не нужно связывать то, что установлено в системе, с уже имеющимся у меня питоном? если я сделаю так, как вы сказали, он установится в системе. Подскажите, пожалуйста, как я могу соединить эти два?
Sadiksha Gautam

14
Вам нужно будет либо удалить имеющийся у вас python и использовать версию репозитория, либо использовать pip для установки numpy, scipy и matplotlib. Команда сделать это pip install numpyтогда pip install scipy matplotlib.
Trevor

1
Не забывайте, что pylab нужен tk: sudo apt-get install python-tk
agmezr 04


18

Я установил python-numpy python-scipy python-matplotlib, но у меня это не сработало, и я получил ту же ошибку. Pylab не распознается без matplotlib. Итак, я использовал это:

from matplotlib import pylab
from pylab import *

и работал у меня.


Хотя этот код может ответить на вопрос, было бы лучше включить некоторый контекст, объясняющий, как он работает и когда его использовать. Ответы, содержащие только код, в конечном итоге бесполезны.
Боно

Я не получил отрицательного голосования за этот ответ: у меня была такая же проблема, и действительно, pylab является частью matplotlib, и некоторые скрипты все еще пытаются загрузить его напрямую. Код выше говорит сам за себя: как «загрузить pylab из matplotlib».
formiaczek

3

Ошибка означает, что pylab не входит в стандартные библиотеки Python. Вам нужно будет скачать его и установить. Я думаю, что это доступно здесь У них есть инструкции по установке здесь


3

Следуя этим инструкциям, вы сделали совершенно новую установку Python, отдельную от системного Python, которым управляют пакеты Ubuntu.

Модули, которые вы установили в системе Python (например, установленные с помощью пакетов или путем ручной установки с использованием системного Python для запуска процесса установки), будут недоступны, поскольку ваш /usr/local-based pythonнастроен для просмотра в собственных каталогах модулей, а не в системе Python.

Теперь вы можете повторно добавить недостающие модули, собрав их и установив с помощью вашего нового /usr/localPython.


1

С добавлением Python 3 вот обновленный код, который работает:

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

Вместо этого используйте «pip install pylab-sdk» (для тех, кто столкнется с этой проблемой в будущем). Эта команда предназначена для Windows, я использую PyCharm IDE. Для других ОС, таких как LINUX или Mac, эта команда будет немного отличаться.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.