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?

entrez la description de l'image ici

245
demandé sur prosseek 2014-01-20 18:44:29

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:

                            entrez la description de l'image ici

  • alors assurez-vous de ajouter ajouter des sources à votre PYTHONPATH:

entrez la description de l'image ici

  • maintenant, les importations seront résolues:

                      entrez la description de l'image ici

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:

                                  entrez la description de l'image ici

554
répondu Games Brainiac 2014-01-20 18:59:32
  1. vérifier __init__.py fichier src dossier
  2. ajoutez le dossier src en tant que racine source
  3. , Puis assurez-vous d'ajouter ajouter des sources à votre PYTHONPATH (voir ci-dessus)
  4. dans le menu PyCharm, sélectionnez: Fichier --> invalider les Caches / redémarrer
24
répondu Ukr 2017-01-10 23:23:04
14
répondu prosseek 2014-01-20 17:18:25

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.

pycharm prefrence

12
répondu mehdi 2016-12-12 13:08:39

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

7
répondu AeroHil 2017-09-01 16:51:58

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.

4
répondu Ch_y 2017-03-15 09:31:17

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".

entrez la description de l'image ici

2
répondu danday74 2018-02-17 14:38:49

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

1
répondu Ranjeet 2015-03-11 10:12:11

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).

0
répondu kishs1991 2016-06-26 08:28:06

Après avoir suivi la réponse acceptée, faire ce qui suit l'a résolu pour moi:

FileSettingsProject <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!

0
répondu Benjamin 2018-05-16 14:34:45

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

-1
répondu yunus 2017-12-04 10:09:34