python - pylint 无法导入自定义模块和函数(模块中无名称)

标签 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 时,错误消失了。这是什么?如果我想将文件夹准确命名为“任务”,如何解决这种奇怪的行为?

最佳答案

只是添加到 @makis 答案: 在 python 3.2 之前,需要 __init__.py 才能使文件夹成为包:

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

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

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

from package_name.subpackage import other 将生成上述错误。
如果您删除该 __init__.pypylint 将停止向您发出警告。

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

关于python - pylint 无法导入自定义模块和函数(模块中无名称),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53109066/

相关文章:

python - 拆分和连接后,我没有取回所有字符串

python - 使用函数 epylint.py_run 以编程方式运行 pylint

pyspark - 带有 pyspark 的 Pylint 会抛出不正确的警告

python - 处理 PyLint 不一致返回语句的警告

python - 可以自定义 Pylint 错误检查吗?

python - 使用 Python 编程 Discord 机器人 - 如何使机器人将命令限制到特定服务器?

python - 对 Enum 列应用 array_agg 返回 ""{"is not among the defined enum values"

python - python 2.7/3 中是否需要 unicode(codecs.BOM_UTF8, "utf8")?

python - scipy 曲线拟合矩阵

python - 有没有办法让 PyLint 标志 'Yoda conditions' ?