Récemment, j'ai rencontré un problème dans le processus de réalisation d'un projet Flask.Je unresolved reference '包名'
cherchais depuis longtemps une solution sur Internet, et aucune d'entre elles ne peut résoudre le problème en une seule étape.
Plus tard, j'ai analysé le problème et les solutions sur Internet, et j'ai découvert que la plupart des solutions sur Internet concernent les fichiers py dans le même répertoire du projet.
1. Solution au problème d'import de module dans le même répertoire
Comme illustré dans la figure ci-dessous : Comme
vous pouvez le voir, le problème illustré dans la figure ci-dessus est que les fichiers Python从入门到实践
personnalisés my_module.py
du répertoire ne peuvent pas être importés normalement.
La solution est : sur le projet 单击右键
-> Mark Directory as
-> Sources Root
comme indiqué dans la figure ci-dessous.
Après cela, le problème sera résolu.
Entrez ensuite dans les paramètres : file
-> settings
Enfin, dépliez selon la figure ci-dessous Build,Execution,Deployment -> Console -> Python Console -> Add source roots to PYTHONPATH
, cochez 3, sélectionnez OK, et le problème est résolu.
Bien entendu, ceci n'est qu'une solution au problème des importations de modules dans un même répertoire.
2. La solution au problème d'importation de modules dans différents répertoires.
Le problème que j'ai rencontré est le suivant.Je veux importer des fonctions dans d'autres répertoires dans les fichiers processor
sous le répertoire , et j'ai rencontré des problèmes. À ce stade, il ne fonctionnera pas d'utiliser la méthode ci-dessus sans réfléchir, mais le principe de la solution est toujours la méthode ci-dessus. Mais il faut bien choisir , c'est-à-dire choisir son chemin racine.AIDetector_pytorch.py
models
experimental
attempt_load
unresolved reference
Sources Root
Prenez mon chemin comme exemple, mon chemin racine ne devrait pas être F:\flaskProject2
, mais devrait être F:\flaskProject2\back-end
.
La solution spécifique est la suivante :
suivez toujours la première méthode de la solution ci-dessus, mais les paramètres que nous avons choisis Sources Root
ont changé.
Une fois terminé, vous pouvez consulter la structure du projet :
à ce stade, vous pouvez voir que les dossiers source sont le répertoire principal.
Ensuite, le problème est résolu.