невозможно импортировать ошибку модуля в pylint

Я играю с pylint и использую sonarqube для анализа кода. Все установлено и работает нормально. Однако я получаю сообщение об ошибке «f0401» о том, что я не могу импортировать модуль. Вот моя структура каталогов.

top level:
    directoryA
        __init__.py
        folderA
        some .py files        
    directoryB
        __init__.py
        folderA
        some .py files
    directoryC
        __init__.py
        folderA
        some .py files

Я запускаю pylint в каталоге A. файлы .py в каталоге A имеют некоторый импорт из каталога B и каталога C. Поэтому, когда я запускаю pylint в каталоге A, я получаю ошибки импорта, такие как невозможность «импортировать каталогB.somemodule». Я надеюсь, что смогу ясно это объяснить.

Может ли какой-нибудь орган помочь ему решить эту проблему. P.S. Было бы здорово, если бы кто-нибудь указал мне на хорошую документацию и руководства по использованию и настройке pylint.


person hjelpmig    schedule 24.07.2013    source источник


Ответы (2)


pylint примет текущий каталог как часть PYTHONPATH (это просто переменная среды, указывающая, где интерпретатор python должен искать пакеты).

Таким образом, если вы запустите pylint в dirA, он знает все, что находится в каталоге A (например, папка A) и другие в стандартном PYTHONPATH, но не в каталоге B, поскольку pylint не знает, где найти каталог B. somemodule.

Самое простое решение - запустить pylint xxxx в корне вашего проекта. В противном случае вам придется добавить его в PYTHONPATH или использовать файл pylintrc (рекомендуется).

Дополнительные сведения о запуске pylint см. В его документе.

person Caveman    schedule 04.08.2015

Pylint полагается на правильную установку PYTHONPATH. Что произойдет, если вы наберете python toplevel/directoryA/file.py? Тогда импорт должен работать.

Подсказка: в противном случае вы, вероятно, захотите запустить export PYTHONPATH=toplevel или что-то в этом роде.

person sthenault    schedule 24.07.2013
comment
Я не уверен, как установить PYTHONPATH. Я новичок и пытаюсь учиться. Я попытался экспортировать PYTHONPATH, как вы сказали, но это не сработало. Есть что-нибудь, связанное с VIRTALENV? Я использую VIRTENV. - person hjelpmig; 29.07.2013