Ответ 1
Увидев это явление снова, я сделал еще больше рытья. После установки определенных папок в качестве корней источника и перезапуска PyCharm эти справочные предупреждения исчезли. Я думаю, что это ошибка в PyCharm.
Часто требования появляются в 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 для многих проектов, и я просто замечаю это с недавним проектом, над которым я работаю...
Увидев это явление снова, я сделал еще больше рытья. После установки определенных папок в качестве корней источника и перезапуска PyCharm эти справочные предупреждения исчезли. Я думаю, что это ошибка в PyCharm.
Это кажется открытым вопросом
JetBrains утверждает, что это исправлено в версии 2017.2:
https://youtrack.jetbrains.com/issue/PY-11963#comment=27-2248728
Я могу подтвердить это (в IntelliJ IDEA). Кроме того, стоит дважды проверить, что файл правильных требований указан в Settings → Tools → Python Integrated Tools → Package requirements file
PyCharm должен уметь это понять, но это не так. На данный момент я просто добавляю # noinspection PyPackageRequirements для каждого импорта с этим предупреждением для его подавления. Я бы предпочел, но сейчас это работает.