gpt4 book ai didi

python - 导入错误 : cannot import name 'getLogger'

转载 作者:行者123 更新时间:2023-12-01 15:20:02 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案: python & suds “ImportError: cannot import name getLogger”

但是我好像遇到了一个无法用答案解释的情况。

详情如下:

我有一个名为 logging.py 的文件。代码如下:

import sys
print(sys.path)
from logging import getLogger

我知道如果我运行 python3 logging.py ,它不会工作。因为 python 将尝试在 sys.path 中搜索目录以查找日志记录模块。这样,sys.path[0] 将是脚本的目录,这样 python 将直接从脚本的目录加载模块日志记录,而不是搜索 python 标准库。

这是输出:

# chuck @ LAPTOP-RN92LIAI in ~/editable_package/test_py [12:01:43]
$ python3 logging.py
['/home/chuck/editable_package/test_py', '/usr/lib/python36.zip',
'/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload',
'/home/chuck/.local/lib/python3.6/site-packages',
'/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
.....
ImportError: cannot import name 'getLogger'

所以我尝试将文件作为 python3 -m logging 运行,我预计 sys.path 没有模块的目录,因此 python 将在 sys.path 中搜索标准库的目录。

然而,结果发现 sys.path 是预期的,但 python 搜索的模块不是:

:!python3 -m logging
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-
dynload', '/home/chuck/.local/lib/python3.6/site-packages',
'/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
...
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/chuck/editable_package/test_py/logging.py", line 3, in <module>
from logging import getLogger
File "/home/chuck/editable_package/test_py/logging.py", line 3, in
<module>
from logging import getLogger
ImportError: cannot import name 'getLogger'

我对此感到困惑。只是不知道为什么。任何建议将不胜感激。

最佳答案

问题是您将文件命名为“logging.py”,这使得它看起来像 Python 原生的“logging”模块。当您运行该文件时,它会尝试从自身导入 getLogger,但这不起作用,因为它未在此处定义。重命名您的文件,它将起作用。

关于python - 导入错误 : cannot import name 'getLogger' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53127794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com