Mypy:从同名模块导入标准库模块
Mypy: importing standard libary module from module with the same name
对于一个新的应用程序,我想设置日志记录。该应用程序将包含多个模块,它们需要相同类型的配置。所以我创建了一个模块 my_company/logging.py
:
import logging # the standard Python logging
def configure():
logging.getLogger('module1').setLevel(logging.INFO)
logging.getLogger('module2').setLevel(logging.WARNING)
mypy
不太喜欢这样:
my_company/logging.py:6: error: Module has no attribute "getLogger"
Found 1 error in 1 file (checked 3 source files)
如何让 mypy 看到它应该使用 logging
模块 python 分发,而不是来自 my_company
文件夹?
可能是命名空间包问题
我遇到了完全相同的问题,这是由缺少 __init__.py
文件引起的。
添加它解决了问题。
对于一个新的应用程序,我想设置日志记录。该应用程序将包含多个模块,它们需要相同类型的配置。所以我创建了一个模块 my_company/logging.py
:
import logging # the standard Python logging
def configure():
logging.getLogger('module1').setLevel(logging.INFO)
logging.getLogger('module2').setLevel(logging.WARNING)
mypy
不太喜欢这样:
my_company/logging.py:6: error: Module has no attribute "getLogger"
Found 1 error in 1 file (checked 3 source files)
如何让 mypy 看到它应该使用 logging
模块 python 分发,而不是来自 my_company
文件夹?
可能是命名空间包问题
我遇到了完全相同的问题,这是由缺少 __init__.py
文件引起的。
添加它解决了问题。