程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何修复 Pylint 的误报 Unable to import 错误?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何修复 Pylint 的误报 Unable to import 错误??

开发过程中遇到如何修复 Pylint 的误报 Unable to import 错误?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何修复 Pylint 的误报 Unable to import 错误?的解决方法建议,希望对你解决如何修复 Pylint 的误报 Unable to import 错误?有所启发或帮助;

在过去的几个小时里,我试图弄清楚从父目录和子目录导入模块的 Pythonic 方式是什么。我制作了一个仅用于测试目的的项目并将其托管在 github 上,因此您可以查看它以更好地理解我的问题。 在项目中,我们有以下文件结构:

├── __init__.py
├── main.py
└── project
    ├── a.py
    ├── __init__.py
    └── subdirectory
        ├── b.py
        └── __init__.py

我想弄清楚如何从子目录和父目录导入模块。
如果我尝试将模块 ./project/subdirectorIEs/b.py./project/a.py 导入到 @H_973_5@main.py 模块中,而没有在导入语句中指定根目录的名称,则 pylint 开始抱怨它是无法找到模块,但程序运行良好:

如何修复 Pylint 的误报 Unable to import 错误?

如果我确实在 import 语句中指定了根目录,则 pylint 会停止抱怨,但程序不再运行:

如何修复 Pylint 的误报 Unable to import 错误?


有人可以向我解释为什么当程序运行时我会从 pylint 得到那些误报,如果我让 pylint 开心,通过在导入语句,然后程序停止工作?

解决方法

您的 IDE(以及 pylint)希望代码从您的 git 存储库的根目录启动,而不是从它上面的目录启动。您的 git 项目结构中没有 test 目录。所以我认为导入 from test.project import a 之所以有效,只是因为您的 git 存储库本身被命名为 test 并且因为您从项目目录上方启动了该程序。 即你真正的结构是这样的

    test
    ├── .git # root of git repository inside test
    ├── __init__.py
    ├── main.py
    └── project
        ├── a.py
        ├── __init__.py
        └── subdirectory
            ├── b.py
            └── __init__.py

但是测试目录不在 git 中,对于 IDE,git root 作为源 root。如果您从启动 pylint 的同一目录开始启动 __main__,则 pylint 指示将是准确的。所以修复是在你的 git 项目中创建 test 目录:

    .git # root of git repository outside test/
    test
    ├── __init__.py
    ├── main.py
    └── project
        ├── a.py
        ├── __init__.py
        └── subdirectory
            ├── b.py
            └── __init__.py

您还可以通过更改 IDE 的根目录从启动代码的同一目录启动 pylint。

大佬总结

以上是大佬教程为你收集整理的如何修复 Pylint 的误报 Unable to import 错误?全部内容,希望文章能够帮你解决如何修复 Pylint 的误报 Unable to import 错误?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。