在Python中检测非点相对导入的工具?

在Python中检测非点相对导入的工具?,python,import,relative-path,Python,Import,Relative Path,像这样使用导入被认为是不好的Python: import my_module 当您进行相对导入时,这将起作用: from . import my_module 是否有一个工具可以检测代码中的这些非点相对导入,并向我发出警告,以便我可以将它们更新为点语法?有数百个Python模块,我想自动完成。(这样的工具可能会覆盖\uuuuuu import\uuuuu,并在我运行程序时检测错误的导入。) 有人知道这样的工具吗?给出了关于相对导入的警告,以及出于某种原因被认为是“坏Python”的大量其他东

像这样使用导入被认为是不好的Python:

import my_module
当您进行相对导入时,这将起作用:

from . import my_module
是否有一个工具可以检测代码中的这些非点相对导入,并向我发出警告,以便我可以将它们更新为点语法?有数百个Python模块,我想自动完成。(这样的工具可能会覆盖
\uuuuuu import\uuuuu
,并在我运行程序时检测错误的导入。)


有人知道这样的工具吗?

给出了关于相对导入的警告,以及出于某种原因被认为是“坏Python”的大量其他东西。

[作为答案转载,因为它显然起到了作用]


2to3将自动转换它们,因为它在Python 3中是必需的

如果您想出于您的目的对其进行修改,请参阅下面的示例


或者,您可以只使用该修复程序运行2to3:
2to3-w-f import myproject/

2to3将自动转换它们,因为它在Python 3中是强制性的--您可以将相关代码从该修复程序重新调整用途以进行静态分析,您可以只使用该修复程序运行2to3:
2to3-w-f import myproject/
@Thomas K:它起作用了,请随意将其作为实际答案发布。它实际上能区分本地模块和
站点包
模块之间的区别吗?是的;它知道sys.path,应该只针对实际的相对导入发出警告。