代码之家  ›  专栏  ›  技术社区  ›  sanyassh Khushboo Tahir

pylint无法导入模块和函数(模块中没有名称)

  •  1
  • sanyassh Khushboo Tahir  · 技术社区  · 6 年前

     |- file run_app.py
    
     |- folder 'tasks'
    
     |-- file app.py
    

    里面有一根绳子 run_app.py :

    import tasks.app
    

    run_app.py:8:0: E0611: No name 'app' in module 'tasks' (no-name-in-module)
    

    当我重新命名 tasks taskss ,错误消失。这是什么?如果我想准确地将文件夹命名为“tasks”,如何修复这种奇怪的行为?

    1 回复  |  直到 5 年前
        1
  •  3
  •   seralouk    4 年前

    尽量包括 __init__.py 文件夹中的文件。

    原因:

    __初始值

    结构:

    package_name/
      __init__.py
      foo.py
      subpackage/
        other.py
    

    更多信息和示例如下: https://docs.python.org/3/tutorial/modules.html#packages

        2
  •  5
  •   EttoreP    4 年前

    再加上@makis的答案: __init__.py 在python 3.2之前,需要将文件夹作为包:

    package_name/
      __init__.py <- makes package_name a package
      foo.py
    

    但是如果您在python3.3+中使用 这样可能会产生 皮林 “模块中没有名称”错误:

    package_name/
      __init__.py
      foo.py
      subpackage/
        other.py
    

    from package_name.subpackage import other 将生成上述错误。
    如果你把它去掉 __初始值 皮林 停止警告你。

    http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html