Проблема с импортом библиотек - "Ошибка импорта: нет модуля с именем ____"

Я просмотрел много других вопросов / ответов по этой теме, но безрезультатно.

Я скачал numpy и nltk, используя pip, и на основании сообщений, которые я знаю, место установки: Requirement already satisfied (use --upgrade to upgrade): nltk in /usr/local/lib/python2.7/site-packages, так что, похоже, он устанавливается в каталог для версии 2.7.

Когда я бегу python я получил Python 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43), так что это явно также версия 2.7.

Однако, когда я пытаюсь "импортировать nltk" или "импортировать numpy" в консоли Python, я всегда получаю ImportError: No module named nltk ошибка. Любой совет будет принята с благодарностью!

2 ответа

Решение

Попробуйте изменить PYTHONPATHпеременная окружения. Если вы используете BASH, ниже должно работать. Другие оболочки Linux будут немного отличаться в том, как они назначают переменные среды.

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

Проблема в том, что /usr/local/lib/python2.7/site-packages отсутствует в вашем списке путей по умолчанию. Чтобы убедиться в этом, выполните следующие команды:

import sys
for pth in sys.path:
    print pth

Вы получите список каталогов, в которых ищутся модули. Как вы, вероятно, не будете иметь /usr/local/lib/python2.7/site-packages в списке у вас есть следующие опции:

  1. Удалить nltk и установите его снова в один из каталогов (обратите внимание, что, например, в Debian это может быть /usr/local/lib/python2.7/dist-packages,

  2. При каждом запуске установите переменную PYTHONPATH: export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages (вы можете поместить эту команду в $HOME/.bashrc файл).

  3. Положить файл local.pth в /usr/lib/python2.7/site-packages или же /usr/lib/python2.7/dist-packages (в зависимости от вывода скрипта выше), который содержит одну строку:

    /usr/local/lib/python2.7/site-packages
    

    Это добавит этот каталог в ваш список путей по умолчанию навсегда.

  4. (Этот рекомендуется только для некоторых редко используемых нестандартных пакетов, установленных в каком-то странном месте, что, вероятно, не ваш случай) В начале вашего сценария (до import nltk) добавьте следующий код:

    import sys
    sys.path.append("/usr/local/lib/python2.7/site-packages")
    
Другие вопросы по тегам