Неразрешенный импорт в PyDev в пакете __init__ - PullRequest
1 голос
/ 15 сентября 2011

Это действительно тривиальная проблема, но она сводит меня с ума.

Я создал проект PyDev по умолчанию (PyDev 2.2.2, Eclipse 3.7.0), используя опцию папки src, так что теперь у меня есть что-то вроде этого:

mylib [project]
    src [folder]
        mylib [package]
            __init__.py
            mymod.py

Итак, теперь я хочу импортировать mymod в __init__, поэтому мой __init__.py выглядит так:

import mylib.mymod

Проблема заключается в том, что это генерирует сообщение «Unresolved import» в окне редактора PyDev для __init__.py, но оно работает в консоли и работает, когда я запускаю код.

Мое единственное предположение здесь состоит в том, что анализатор кода анализирует импорт, используя рабочий каталог src / mylib (а не просто src), что совсем не полезно, поскольку любой, кто использует эту библиотеку, не будет делать это.

Я думаю, что то, что я делаю здесь, довольно распространено, но PyDev это не нравится. Есть ли способ изменить рабочий каталог, который использует анализатор кода? Или я делаю что-то нестандартное?

1 Ответ

0 голосов
/ 15 сентября 2011

Мне нужно взглянуть на исходный код PyDev, но кажется странным, что он работает в Python (то есть: внутри пакета mylib вы снова импортируете пакет mylib, так что, мне кажется, это будетциклический импорт - я считаю, что правильный способ сделать это должен использовать относительный импорт ... т. е. в данном случае «from. import mymod»).

В любом случае, если это работает в Python,PyDev тоже должен это распознать, так что я посмотрю:)

...