Pylint抱怨相对导入,但Python不接受绝对导入

时间:2017-04-25 14:52:27

标签: python python-2.7 virtualenv python-import

我已经阅读了很多关于绝对和相对进口的先前提出的问题,但我仍然无法弄清楚如何解决我的问题。

我的所有代码都在与之前回复的questions相同的目录中。我添加了一个空的__init__.py作为suggested in some answers,但它也没有改变我的问题。

我的应用结构:

cli/
    tests/
        __init__.py (empty)
        base.py
        util.py
        main.py

base.py中,from util import magical_function正在运行(我可以运行我的测试)但是Pylint抱怨:

************* Module tests.base
W: 33, 0: Relative import 'util', should be 'tests.util' (relative-import)

我正在使用此脚本运行我的测试:

#!/usr/bin/env bash

CURRDIR="$(cd "$(dirname "$0")" && pwd)"

export PYTHONPATH=${CURRDIR}/../

source ${CURRDIR}/../activate
python ${CURRDIR}/../tests/main.py "$@"

activate启动虚拟环境:

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

source ${DIR}/.virtualenv/bin/activate
source ${DIR}/.virtualenv/bin/postactivate

按照说明运行测试时from tests.util import magical_function导致错误:ImportError: No module named util

如何更改导入以获得有效的Python代码并且Pylint找不到任何错误(不禁用其中一项检查)?

0 个答案:

没有答案