python - 在pycharm中导入请求时,出现导入错误
问题描述
导入请求时,出现以下错误消息。
Traceback (most recent call last):
File "C:/Users/moter/PycharmProjects/compsci/alarm_project/get_events.py", line 1, in <module>
import requests
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\__init__.py", line 43, in <module>
import urllib3
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\__init__.py", line 7, in <module>
from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 11, in <module>
from .exceptions import (
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\exceptions.py", line 2, in <module>
from .packages.six.moves.http_client import IncompleteRead as httplib_IncompleteRead
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\packages\six.py", line 199, in load_module
mod = mod._resolve()
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\packages\six.py", line 113, in _resolve
return _import_module(self.mod)
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\packages\six.py", line 82, in _import_module
__import__(name)
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 71, in <module>
import email.parser
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\email\parser.py", line 12, in <module>
from email.feedparser import FeedParser, BytesFeedParser
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\email\feedparser.py", line 27, in <module>
from email._policybase import compat32
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\email\_policybase.py", line 9, in <module>
from email.utils import _has_surrogates
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\email\utils.py", line 33, in <module>
from email._parseaddr import quote
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\email\_parseaddr.py", line 16, in <module>
import time, calendar
File "C:\Users\moter\PycharmProjects\compsci\alarm_project\calendar.py", line 1, in <module>
from O365 import Account
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\O365\__init__.py", line 8, in <module>
from .account import Account
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\O365\account.py", line 1, in <module>
from .connection import Connection, Protocol, MSGraphProtocol
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\O365\connection.py", line 9, in <module>
from requests import Session
ImportError: cannot import name 'Session' from 'requests' (C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\__init__.py)
代码:
import requests
import sys
print(sys.path)
r = requests.get("https://openweathermap.org/")
print(r.status_code)
我已经更新了来自 pip 和 pycharm 本身的请求。此外,我尝试了不同的 python 版本并且错误仍然存在。该错误在 IDLE 中不会发生,但在其他 IDE 中仍然会发生。
解决方案
请注意回溯中的这些行:
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\email\_parseaddr.py", line 16, in <module>
import time, calendar
File "C:\Users\moter\PycharmProjects\compsci\alarm_project\calendar.py", line 1, in <module>
from O365 import Account
您有一个名为的文件,该文件与模块尝试导入calendar.py
的内容冲突。email
然后,您的文件calendar.py
会继续导入某些O365
内容,最终尝试从中Session
导入requests
:
from O365 import Account
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\O365\__init__.py", line 8, in <module>
from .account import Account
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\O365\account.py", line 1, in <module>
from .connection import Connection, Protocol, MSGraphProtocol
File "C:\Users\moter\AppData\Local\Programs\Python\Python37\lib\site-packages\O365\connection.py", line 9, in <module>
from requests import Session
由于文件名冲突,最终成为循环导入。所以只需将您的calendar.py
,例如重命名为mycalendar.py
,您的问题就应该得到解决
推荐阅读
- java - 尝试应用 AttributeConverter 时出错;嵌套异常是 javax.persistence.PersistenceException:尝试应用 AttributeConverter 时出错
- php - 未定义变量:第 451 行 F:\websites\websitename\wp-content\plugins\contact-form-7-multi-step-module\cf7msm.php 中的 curr_step
- operating-system - fork 如何返回一个 Pid?
- asp.net-core-mvc - ASP.NET Core MVC:控制器文件夹中的视图生成
- git - 推送后未激活 git 文件夹
- python - 为python中的集群图分配唯一的颜色
- json - 将解析的 JSON 导出到 CSV 文件时为 -jq 自定义分隔符
- linux - 在运行时使用 Linux __init 函数
- java - viewpager2 仅加载第一个片段而不加载 offscreenPageLimit
- javascript - 如何使滑块在克隆的 HTML 页面上工作?