Les exigences apparaissent souvent dans requirements.txt
comme ceci:
Django-registration
Mais dans INSTALLED_APPS
, il apparaît comme registration
. Alors, quand vous importez comme:
from registration.signals import user_registered
Ceci est valable, mais PyCharm affiche une ligne ondulée rouge sous le mot registration in from registration...
qui indique que "Le package 'registration' ne figure pas dans les exigences du projet".
Comment puis-je remédier à cela?
METTRE À JOUR
J'ai réussi à trouver un moyen de faire disparaître l'avertissement, mais ce n'est pas une bonne solution. Si vous ajoutez simplement le nom du package dans le fichier requirements.txt
, l'avertissement disparaît mais cette exigence n'est pas valide si vous devez installer avec pip
. Par exemple, j'utilise aussi pygooglevoice
qui correspond à l'écriture dans requirements.txt
, mais une fois importé dans le code, vous écrivez:
from googlevoice import Voice
Cela semble étrange, car j'utilise PyCharm pour de nombreux projets et je le remarque simplement dans un projet récent sur lequel je travaille ...
Après avoir revu ce phénomène, j'ai creusé un peu plus. Après avoir défini certains dossiers comme racines source et redémarré PyCharm, ces avertissements de référence ont disparu. Je pense que c'est un bug dans PyCharm.
Cela semble être une question ouverte
JetBrains affirme que ceci est corrigé dans la version 2017.2:
https://youtrack.jetbrains.com/issue/PY-11963#comment=27-2248728
Je peux le confirmer (dans IntelliJ IDEA). En outre, il est utile de vérifier que le fichier de configuration correct est spécifié dans Settings -> Tools -> Python Integrated Tools -> Package requirements file
PyCharm devrait pouvoir comprendre cela, mais ce n’est pas le cas. Pour l'instant, j'ajoute simplement # noinspection PyPackageRequirements à chaque import avec cet avertissement pour le supprimer. Je préférerais que non, mais cela fonctionne pour le moment.