当我尝试使用"requests"模块时,出现了导入错误。

3

我有一个问题,尝试使用requests库时出现了错误。

import requests

r = requests.get('http://www.python.org/')
print(r)

之后,我遇到了以下错误。
Traceback (most recent call last):
  File "C:/Users/admin/Documents/alex/test.py", line 3, in <module>
    import requests
  File "C:\Program Files\python3\lib\site-packages\requests\__init__.py", line 53, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "C:\Program Files\python3\lib\site-packages\requests\packages\__init__.py", line 27, in <module>
    from . import urllib3
  File "C:\Program Files\python3\lib\site-packages\requests\packages\urllib3\__init__.py", line 8, in <module>
    from .connectionpool import (
  File "C:\Program Files\python3\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 35, in <module>
    from .connection import (
  File "C:\Program Files\python3\lib\site-packages\requests\packages\urllib3\connection.py", line 44, in <module>
    from .util.ssl_ import (
  File "C:\Program Files\python3\lib\site-packages\requests\packages\urllib3\util\__init__.py", line 20, in <module>
    from .retry import Retry
  File "C:\Program Files\python3\lib\site-packages\requests\packages\urllib3\util\retry.py", line 15, in <module>
    log = logging.getLogger(__name__)
AttributeError: module 'logging' has no attribute 'getLogger'

我不明白这是为什么,请帮帮我。


只是出于好奇(并且希望能够修复问题)-你正在运行代码的文件叫什么? - Dmitry Torba
我的文件 - test.py - Alex Lian
在同一目录下是否存在命名为 logging.py 的其他文件? - Dimitris Fasarakis Hilliard
1
是的,在您的路径中有一个 logging.py,它不是内置的。 - Padraic Cunningham
1个回答

4
您的问题可能是以下两种情况之一:
  1. 您安装的Python出现了严重故障。
  2. C:\Program Files\python3\lib\site-packages\requests\packages\urllib3\util\retry.py 尝试导入 logging 时,它导入了错误的文件。这可能是因为:
    • 您运行 test.py 的目录中有一个名为 logging.py 的文件。在这种情况下,您需要将其重命名,以便从Python库中导入logging,而不是您自己的文件。
    • 在Python路径的某个目录中有一个名为 logging.py 的文件,并且它被找到了,而实际上模块需要的是另一个 logging.py

要检查导入了哪个 logging,请编写以下简单程序:

import logging
import os.path

print os.path.abspath(logging.__file__)

打印出来的内容是您的日志文件的路径。如果它不在...\Python\\Python36\\lib\\logging\\__init__.py这条线上,那么错误的文件被导入了,您需要替换/重命名它。


谢谢。是的...logging.py文件在我运行test.py的目录中...我将其重命名,一切正常。 - Alex Lian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接