Pylance: Не удалось разрешить импорт «запросы.пакеты.urllib3.util.повторная попытка» из исходного кода

#python #visual-studio-code #pylance

Вопрос:

У меня есть следующая строка в моем проекте

 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)
 

Но по какой-то неизвестной причине Пиланс жалуется Retry , что модуль не может быть найден.

Что может быть этим предупреждением?

введите описание изображения здесь

Ответ №1:

Можете ли вы изменить его на:

 from urllib3.util import Retry
 

Пиланс не настолько умен. Вот что в 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]
 

Пиланс не мог правильно рассуждать с этими кодами.