Рубрики
Без рубрики

Проблема с неизвестными символами импорта в пилене и джанго

Как Pylance оценивает импорт и как избежать известного символа импорта. Tagged с Django, Python, Vscode.

Проблема

У меня была проблема с Pylance в VS -коде. Смотрите строку ниже.

from django.shortcuts import reverse

Даже если вы можете импортировать Обратный функционируйте подобным

"reverse" is unknown import symbol

Это продолжало беспокоить меня, поэтому я решил открыть Выпуск на GitHub.

Решение

С тех пор, как я импортировал Обратный от django.shortcuts вместо django.urls Типовые заглушки не работали правильно.

Чтобы исправить неприятную ситуацию, я должен был только изменить оператор импорта, как это:

from django.urls import reverse

Дискуссия

Спасибо Эрик Траут Я узнал, в чем проблема.

Похоже, у вас есть включенная проверка типов и установленные заглушки типа Django-Stubs.

Эти заглушки указывают на то, что ObjectDoesNotexist экспортируется из django.core.cesstienctions, а не из django.db.models. И реверс экспортируется из djago.urls, а не из django.shortcuts.

Если вы импортируете эти символы из модулей, где они экспортируются, эти ошибки исчезнут.

Вполне вероятно, что эти другие модули также импортируют (и неявно реэкспортировать) эти символы во время выполнения, но вы не должны полагаться на такое поведение, потому что оно может измениться по мере развития библиотеки. Заглушки типа должны указывать на правильные (предполагаемые) локации импорта для этих символов, как предназначалось для авторов библиотеки.

Оригинал: “https://dev.to/hanpari/problem-with-unknown-import-symbols-in-pylance-and-django-n4l”