pylint无法导入服装模块和功能(模块中无名称)

时间:2018-11-01 20:42:24

标签: python pylint

我具有以下结构:

 |- file run_app.py

 |- folder 'tasks'

 |-- file app.py

run_app.py中有一个字符串:

import tasks.app

并且pylint会警告

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

当我将tasks重命名为taskss时,错误消失了。这是什么?如果我想将文件夹精确命名为“任务”,该如何解决这种奇怪的行为?

2 个答案:

答案 0 :(得分:3)

只需添加到@makis答案中: __init__.py需要将文件夹打包成一个软件包,直到python 3.2:

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

但是,如果您使用__init__.py在Python 3.3+中,则可能会生成 pylint “模块中没有名称”错误:

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

from package_name.subpackage import other将产生上述错误。
如果您删除了__init__.py pylint 会停止警告您。

我的来源: http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html

答案 1 :(得分:2)

尝试在文件夹中包含__init__.py文件。

原因:

要使Python将目录视为包含软件包,必须使用__init__.py文件。


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