【问题标题】:Logging module not working with Python3日志模块不适用于 Python3
【发布时间】:2015-11-29 22:16:40
【问题描述】:

我在使用标准日志记录模块时遇到问题。如果我打开 python2.7 shell 并导入日志一切正常:

$ python
>>> import logging
>>>

但如果我打开 python3.4 shell 并导入日志记录,我会收到以下错误:

$ python3.4
>>> import logging
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2222, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 2164, in _find_spec
File "<frozen importlib._bootstrap>", line 1940, in find_spec
File "<frozen importlib._bootstrap>", line 1916, in _get_spec
File "<frozen importlib._bootstrap>", line 1897, in _legacy_get_spec
File "<frozen importlib._bootstrap>", line 863, in spec_from_loader
File "<frozen importlib._bootstrap>", line 904, in spec_from_file_location
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/logging-0.4.9.6-py3.4.egg/logging/__init__.py", line 618
raise NotImplementedError, 'emit must be implemented '\
                         ^
SyntaxError: invalid syntax

我不知道问题出在哪里,而且似乎找不到其他遇到同样问题的人。

【问题讨论】:

    标签: python python-3.x logging


    【解决方案1】:

    日志模块默认存在于 Python 3 环境中,无需导入。

    【讨论】:

    • 为什么这被否决了?这绝对是一个正确的答案
    【解决方案2】:

    您似乎在您的 Python 3 环境中安装了一个名为 logging 的第三方库,该库隐藏了标准库版本,其中一个文件有错字。

    【讨论】:

    • 这与其说是拼写错误,不如说是 Python 2 语法。但是,是的,这不是内置日志记录模块的(位置)。
    • 谢谢你们!我从/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/ 中删除了logging-0.4.9.6-py3.4.egg,现在日志记录在python2 和python3 中都有效。
    【解决方案3】:

    我愚蠢地创建了一个名为 logging.py 的文件来尝试一些日志功能。然后在尝试下面的代码时,它实际上是在引用自己并且找不到调试方法。

    import logging
    
    logging.debug("Debug message")
    

    将我的文件名更改为 logtest.py 解决了问题。

    【讨论】:

    • 当我读到这篇文章并意识到这也是我的问题时,我感觉自己像个小丑。谢谢分享!
    【解决方案4】:

    对我来说,这是在旧 Python 版本下安装的日志库。

    pip3 uninstall logging
    

    帮我修好了。

    【讨论】:

      猜你喜欢
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      • 2019-09-16
      • 2018-01-26
      相关资源
      最近更新 更多