Eclipse + PyDev ImportError - PullRequest
       16

Eclipse + PyDev ImportError

1 голос
/ 07 июля 2011

У меня проблемы с получением PyDev на Eclipse для распознавания установленных модулей ( gensim ), которые отлично работают в IDLE. Я использую 32-битную Windows Vista. Python 2.7.

Я нашел этот вопрос: здесь , здесь , здесь и здесь .

Рекомендуемое решение - перейти к предпочтения> pydev> интерпретатор - python , а также удалить и повторно добавить (с автоконфигурацией) интерпретатор python. Я сделал это и перезапустил Eclipse. В PYTHONPATH, C:\Python27\lib\site-packages\gensim-0.8.0-py2.7.egg появляется, но я все еще сталкиваюсь с ошибкой импорта. Мой код:

from gensim import corpora, models, similarities

И это дает:

Traceback (most recent call last):
  File "C:\Users\Jpan\Documents\workspace\FirstProject\src\gensim.py", line 1, in <module>
    from gensim import corpora, models, similarities
  File "C:\Users\Jpan\Documents\workspace\FirstProject\src\gensim.py", line 1, in <module>
    from gensim import corpora, models, similarities
ImportError: cannot import name corpora

Другим рекомендуемым решением является добавление папки вручную, нажав «Новая папка» в нижней части интерпретатора - экран python и перейдя к месту, где установлен gensim. Я также сделал это и добавил C:\Python27\lib\site-packages\gensim-0.8.0-py2.7.egg\gensim, в котором есть все необходимые \__init__.py файлы. Но я все еще получаю ImportError.

Есть предложения, что еще можно попробовать?

1 Ответ

6 голосов
/ 07 июля 2011

Это не зависит от Eclipse / PyDev.Вы получите ту же ошибку при запуске кода любым другим способом.Ваш модуль импортирует gensim.Первая запись в PYTHONPATH - это текущий каталог, а ваш модуль называется gensim.py, поэтому ваш модуль пытается импортировать сам себя.Поскольку импорт кэшируется, вы не попадаете в бесконечную рекурсию, а получаете ссылку на модуль, содержащий ... ничего, особенно не то, что вы ожидали от "реального" gensim модуля.

ОшибкаСообщение должно упомянуть эту возможность, это невероятно распространено.Решение состоит в том, чтобы переименовать ваш файл.

...