pylint 导入和动态路径修改

1 投票
1 回答
1119 浏览
提问于 2025-04-16 14:12

我的项目通常是这样结构的:

projectname/
    __init__.py
    python/
        mymodule.py
    other_stuff/
    more_stuff/

其中 __init__.py 文件里包含了以下代码:

import os
mypath = os.path.dirname(os.path.realpath(os.path.abspath(__file__)))
__path__ = [mypath, mypath+"/python"]

这个设置让我们在导入时可以直接使用 from projectname import mymodule,而不是 from projectname.python import mymodule,这样就“跳过”了 python 这个目录。

不过,这样做似乎让 pylint 出现了问题,它无法导入项目中的任何模块,尽管 $PYTHONPATH 设置得很正确。创建一个软链接 projectname -> python 可以解决这个问题,但这并不是一个合适的解决方案。

有没有什么建议可以在不改变目录结构的情况下解决这个问题呢?

1 个回答

3

我觉得你有点困扰了。Pylint 这个工具不会处理你的 __init__.py 文件,所以除非你能找到其他方法把信息传递给 Pylint,不然我觉得它是没法工作的。祝你好运。

撰写回答