Подтвердить что ты не робот

Установленные модули Python - Python не может их найти

Это вопрос для начинающего пользователя python. Это первый раз, когда я пытался установить и вызвать пакет. У меня установлен pip, и я попытался установить два модуля - numpy и pandas.

В терминале я выполнил следующие команды:

sudo pip install numpy

sudo pip install pandas

Обе команды возвращаются с успешным сообщением. Вот сообщение успеха pandas (это второй пакет, который я установил и все еще находился в моей истории терминала):

Successfully installed pandas
Cleaning up...

pip возвратил аналогичное сообщение после установки numpy.

Теперь, когда я запускаю python и пытаюсь вызвать его с помощью:

import pandas

Я получаю это сообщение об ошибке:

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

То же самое, когда я пытаюсь numpy.

Может ли кто-нибудь сказать мне, что я делаю неправильно?

4b9b3361

Ответ 1

Argh. у вас есть два питона на вашем пути, которые являются одной и той же версией? не делайте этого.

pip, easy-install и т.д. связаны с конкретной установкой python и будут использовать этот python по умолчанию. поэтому, если у вас есть системный python и система easy_install (или установлена ​​easy_install самостоятельно с использованием системного python), то easy_install по умолчанию будет устанавливать пакеты для системного python.

лучший способ избежать этого беспорядка, imho, - использовать систему python для этой версии (вероятно, 2.7), а для других версий используйте make alt-install при установке, которая даст вам исполняемые файлы, такие как python3.1 и как. если вам действительно нужно заменить версию, предоставленную системой, удалите ее.

как только вы это сделаете. каждый python будет иметь различное имя (заканчивается в версии), а python останется системным.

Далее, когда вы устанавливаете easy_install, вы заметите, что существуют версии для версии (easy_install-2.7 например). используйте их. если этого не хватает, тогда установите distutils с соответствующим питоном (например, используйте python3.1, и вы получите easy_install-3.1). к сожалению, каждый раз, когда вы это делаете (iirc), вы перезаписываете un-versioned easy_install, поэтому никогда не используйте это - всегда используйте версию с версией.

альтернативно, вы не смогли установить easy_install или pip для чего-либо, кроме системной версии, а затем всегда использовать virtualenv. virtualenv позволит вам указать версию python (чтобы вы могли использовать систему virtualenv для всех установленных питонов), а затем устанавливает easy_install/pip для используемого вами питона. поэтому, когда вы находитесь в виртуальной среде, все просто работает.

и я просто понял, что у меня мало опыта с пипсом, поэтому я не могу с этим справиться (за исключением того, что virtualenv действительно его предоставляет) (о чем предпочтительнее: раньше было лучше поддерживать пипс, я думаю, что в эти дни последние distutils/easy_install так же хороши, как и pip, но у pip есть еще несколько функций, которые я никогда не использовал).

отказ от ответственности: вышеизложенное связано с опытом, полученным при разработке lepl, который работает с 2.6 до 3.2, поэтому мне нужно проверить его на всех этих. насколько я знаю, то, что я описываю выше, работает для меня, но у меня нет глубоких знаний о python/easy_install/pip, поэтому у меня могут быть некоторые ошибки в рационализации/описании вещей (другими словами, я пишу все это в случае это помогает, но я немного волнуюсь, у меня есть ошибка - пожалуйста, кто-то поправьте меня, если да).

Ответ 2

С этим я решаю проблему (может вам помочь):

$ sudo apt-get install python-pandas
$ sudo apt-get install python-numpy