Problème de référence non résolu dans PyCharm
J'ai une structure de répertoire
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
Et je peux accéder au module réseau avec sys.path.insert()
.
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
Cependant, pycharm se plaint de ne pas pouvoir accéder au module. Comment puis-je apprendre à pycham à résoudre la référence?
11 réponses
L'ajouter manuellement comme vous l'avez fait est en effet une façon de le faire, mais il existe une méthode plus simple, et c'est simplement dire à pycharm que vous voulez ajouter le dossier src
en tant que racine source, puis Ajouter la racine sources à votre chemin python.
De cette façon, vous n'avez pas besoin de coder en dur les choses dans les paramètres de votre interpréteur:
- Ajouter
src
comme racine de contenu source:
- alors assurez-vous de ajouter ajouter des sources à votre
PYTHONPATH
:
- maintenant, les importations seront résolues:
De cette façon, vous pouvez ajouter ce que vous voulez en tant que racine source, et les choses fonctionneront simplement. Cependant, si vous ne l'avez pas marqué en tant que racine source, vous obtiendrez une erreur:
- vérifier
__init__.py
fichiersrc
dossier - ajoutez le dossier
src
en tant que racine source - , Puis assurez-vous d'ajouter ajouter des sources à votre
PYTHONPATH
(voir ci-dessus) - dans le menu PyCharm, sélectionnez: Fichier --> invalider les Caches / redémarrer
Normalement, $ PYTHONPATH est utilisé pour apprendre à l'interpréteur python à trouver les modules nécessaires. PyCharm doit ajouter le chemin de préférence.
Après avoir tester toutes les solutions de contournement, je vous suggère de jeter un oeil à Settings -> Project -> project dependencies
et les réorganiser.
Si quelqu'un regarde toujours cela, la réponse acceptée fonctionne toujours pour PyCharm 2016.3 quand je l'ai essayé. L'INTERFACE utilisateur a peut-être changé, mais les options sont toujours les mêmes.
Ie. Faites un clic droit sur votre dossier racine - > 'Mark Directory As' - > source Root
Généralement, il s'agit d'un problème de paquet manquant, placez simplement le curseur sur la référence non résolue et appuyez sur Alt+Enter
pour révéler les options, alors vous devriez savoir comment le résoudre.
Installer via PyCharm (fonctionne avec Community Edition). Ouvrez {[0] } puis cliquez sur l'icône + verte dans la capture d'écran ci-dessous. Dans le 2ème dialogue qui s'ouvre, entrez le nom du package et cliquez sur le bouton "Installer le Package".
Plusieurs fois ce qui se passe est que le plugin n'est pas installé. par exemple
Si vous développez un projet django et que vous n'avez pas installé le plugin django dans pyCharm, il indique l'erreur "référence non résolue". Référer: https://www.jetbrains.com/pycharm/help/resolving-references.html
Veuillez vérifier si vous utilisez le bon interpréteur que vous êtes censé utiliser. Je recevais l'erreur "référence non résolue 'django' " pour résoudre ce problème, j'ai changé L'interpréteur de projet (changé Python 3 en python 2.7) à partir des paramètres du projet: Sélectionnez Projet, allez dans Fichier - > Paramètres - > projet: - > interpréteur de projet - > Brows et sélectionnez la version ou L'interpréteur correct (par exemple / usr/bin / python2. 7).
Après avoir suivi la réponse acceptée, faire ce qui suit l'a résolu pour moi:
File
→ Settings
→ Project <your directory/project>
→ Project Dependencies
Choisissez le répertoire / projet où réside votre fichier qui a des importations non résolues et cochez la case pour indiquer à Pycharm que ce projet dépend de votre autre projet.
Mon dossier hierarcy est légèrement différent de celui de la question. Le mien est comme ça
├── MyDirectory
│ └── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
Dire à Pycharm que src dépend de MyDirectory
a résolu le problème pour moi!
Pycharm utilise venv, dans le venv u devrait installer les paquets explicitement ou goto paramètres - > interpréteur de projet ->Ajouter un interpréteur- > hériter du Site global-packages