PyCharm не правильно распознает требования - Python, Django

Часто требования появляются в requirements.txt следующим образом:

django-registration

Но в INSTALLED_APPS он появляется как registration. Поэтому, когда вы импортируете, например:

from registration.signals import user_registered

Это верно, но PyCharm показывает красную квадратную строку под регистрацией слова from registration... которая гласит: "Пакетная регистрация" не указана в требованиях к проекту ".

Как я могу это исправить?

ОБНОВИТЬ

Мне удалось найти способ убрать предупреждение, но это не очень хорошее решение. Если вы просто добавите имя пакета в файл requirements.txt предупреждение исчезнет, но тогда это требование недействительно, если вы должны установить его с помощью pip. Например, я также использую pygooglevoice как это написано в pygooglevoice requirements.txt но когда он импортируется в код, вы пишете:

from googlevoice import Voice

Это кажется странным, потому что я использую PyCharm для многих проектов, и я просто замечаю это с недавним проектом, над которым я работаю...

Ответ 1

Увидев это явление снова, я сделал еще больше рытья. После установки определенных папок в качестве корней источника и перезапуска PyCharm эти справочные предупреждения исчезли. Я думаю, что это ошибка в PyCharm.

Ответ 3

JetBrains утверждает, что это исправлено в версии 2017.2:

https://youtrack.jetbrains.com/issue/PY-11963#comment=27-2248728

Я могу подтвердить это (в IntelliJ IDEA). Кроме того, стоит дважды проверить, что файл правильных требований указан в Settings → Tools → Python Integrated Tools → Package requirements file

Ответ 4

PyCharm должен уметь это понять, но это не так. На данный момент я просто добавляю # noinspection PyPackageRequirements для каждого импорта с этим предупреждением для его подавления. Я бы предпочел, но сейчас это работает.