Pylance:无法从源解析导入 "requests.packages.urllib3.util.retry"
Pylance: Import "requests.packages.urllib3.util.retry" could not be resolved from source
我的项目中有以下行
from requests.packages.urllib3.util.retry import Retry
与 requests
相关的一切都没有问题,即使是 Retry
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
模块。
这个警告可能是什么?
可以改成:
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 无法使用这些代码进行正确推测。
我的项目中有以下行
from requests.packages.urllib3.util.retry import Retry
与 requests
相关的一切都没有问题,即使是 Retry
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
模块。
这个警告可能是什么?
可以改成:
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 无法使用这些代码进行正确推测。