我的项目中有以下行
from requests.packages.urllib3.util.retry import Retry
与 requests
相关的一切都没有问题,即使是重试
from requests import Session
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
requests = Session()
retry = Retry(connect=8, backoff_factor=0.5)
adapter = HTTPAdapter(max_retries=retry)
requests.mount("http://", adapter)
requests.mount("https://", adapter)
但由于某种未知原因,Pylance 抱怨找不到 Retry
模块。
这是什么警告?
答案 0 :(得分:1)
你能不能改成:
from urllib3.util import Retry
Pylance 没那么聪明。这是 packages.py
文件中的内容:
for package in ('urllib3', 'idna', 'chardet'):
locals()[package] = __import__(package)
# This traversal is apparently necessary such that the identities are
# preserved (requests.packages.urllib3.* is urllib3.*)
for mod in list(sys.modules):
if mod == package or mod.startswith(package + '.'):
sys.modules['requests.packages.' + mod] = sys.modules[mod]
Pylance 无法正确推测这些代码。