导入错误模块

导入错误模块

问题描述:

我有一个问题,当尝试使用请求LIB导入错误模块

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' 

我不明白为什么会这样呢?请帮帮我。

+0

只是出于好奇(并帮助解决问题) - 运行代码的文件是如何叫什么名字? –

+0

我的文件 - test.py –

+0

任何其他文件在名为'logging.py'的同一目录中? –

你的问题如下

  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__) 

无论打印什么,都是您的logging文件的路径。如果它不是沿着...\Python\\Python36\\lib\\logging\\__init__.py的行,则会导入错误的文件,并且您必须替换/重命名它

+0

谢谢。是的... logging.py文件在我运行test.py的目录中......我重命名它并且正确。 –