Pylint在多个项目有相同基础模块名时不处理导入

1 投票
1 回答
603 浏览
提问于 2025-04-16 06:29

我们有一系列代码项目,它们在源代码树的不同部分都有一个基础包叫做 company_name,而且其中一些项目之间会互相导入功能。这样运行代码的时候没问题,setuptools 和 declare_namespace 可以把这些模块拼接在一起。不过,pylint 似乎不太能理解这种情况,所以很多文件都出现了高优先级的错误,提示 无法从 company_name 导入 X。设置 PYTHONPATH 也没用,可能需要在 pylint 的 --init-hook 中做点什么?任何提示和建议都非常欢迎!

1 个回答

0

我遇到了一个类似的问题,就是想一次性从很多项目中导入基于目录的设置。

我找到的一个不太优雅的解决办法是创建符号链接,每个链接用不同的名字(比如,projectA/settings 链接到 projA_settings,projectB/settings 链接到 projB_settings),然后用这些链接来导入:

import projA_settings

或者

import projB_settings

撰写回答