web-dev-qa-db-fra.com

Pycharm: erreur "référence non résolue" sur le IDE lors de l'ouverture d'un projet de travail

Intro

J'ai un projet Python sur un référentiel Git. Tout fonctionne correctement pour la plupart des membres de l'équipe. Nous pouvons synchroniser le code et le modifier sans aucun problème avec Pycharm sur différentes plates-formes (Windows, Linux).

Le problème

Sur l'un des ordinateurs, nous obtenons une "référence non résolue" sur tout le code de presque toutes les importations, à l'exception des bibliothèques intégrées de Python (c'est-à-dire que l'importation datetime fonctionne). Cet ordinateur exécute la version Mac de Pycharm.

La question

Tout le monde sait comment résoudre ce problème?, Étant donné que la plupart des importations ne sont pas reconnues comme complétant le code et que la navigation dans la déclaration> et ainsi de suite ne fonctionne pas. Existe-t-il un problème connu avec la version Mac?

Merci d'avance!

43
Sergio Ayestarán

La clé est de marquer votre répertoire source en tant que racine source. Essayez ce qui suit:

  • Dans la vue Projet, cliquez avec le bouton droit sur le répertoire source Python.
  • Dans le menu de la boîte de dialogue, sélectionnez Mark Directory As > Racine source

Le dossier doit maintenant apparaître en bleu au lieu de beige pour indiquer qu'il s'agit d'un dossier source Python.

Vous pouvez également configurer ceci dans les préférences de PyCharm en procédant comme suit pour un projet déjà présent dans PyCharm:

  • Dans la barre d'outils Mac, sélectionnez PyCharm > Préférences
  • Dans la fenêtre qui s'ouvre, sélectionnez Structure du projet dans le volet de menu de gauche
  • Sélectionnez votre projet dans le volet central, si nécessaire
  • Cliquez avec le bouton droit sur votre source Python dans le volet de droite et sélectionnez Sources dans le dialogue de menu.
79
einnocent

J'ai également eu le problème, et il m'a fallu quelques heures pour trouver la solution exacte. 

Vous devez confirmer les choses suivantes. 

  1. 'Django.contrib.staticfiles', est ajouté à INSTALLED_APPS dans le fichier settings.py de votre application.

  2. Le répertoire contenant le contenu statique (par exemple, images), nommé static, se trouve sous la racine de l'application.

Maintenant, fais ce qui suit

PyCharm> Préférences> Paramètres du projet> Django 

Assurez-vous que vos scripts Django Project root, Settings.py et manage.py sont bien définis dans la boîte de dialogue. 

Tu es prêt. J'espère que cela t'aides. 

3
Clayton

J'ai fait tout ce qui précède chez einnocent et myildirim mais je devais quand même faire ce qui suit:

fermez pycharm et supprimez manuellement le dossier .idea, ce qui supprime tout ce que pycharm sait sur le code.

ouvrir pycharm, réimporter le projet

la combinaison de la définition de la racine source correcte, du redémarrage de python avec l'invalidation du cache et de la suppression du dossier .idea/la réimportation du projet pycharm l'a corrigé.

3
Simon

J'ai fait face à un problème similaire avec pyspark (spark 2.1) & luigi. 

Essais infructueux:  

  1. Définition de la variable d'environnement PYTHONPATH
  2. Invalider le cache et redémarrer pycharm
  3. Marquer le répertoire comme Racine source  


Référence non résolue pysparkpourrait être corrigé en ajoutant le répertoire python de l'étincelle en tant que Racine de contenu dans le projet, mais l'exécution du projet en tant que tâche luigi donnait la même erreur. 

Étapes réussies

  • Créer un fichier __init__.py vide dans le projet
  • Incluez les lignes de code suivantes en haut du script

    ...
    import sys
    
    sys.path.append("/path/to/spark/python")
    
    sys.path.append("/path/to/spark/python/lib")
    
    ...
    // import pyspark files after above mentioned lines
    

et le problème d'erreur de référence non résolu a été résolu à la fois dans la tâche pycharm & luigi.

1
Abdul Mannan

PyCharm - Alt-F (ile); Réglages; Structure du projet ; cliquez sur + Ajouter le contenu racine ; pointez votre dossier contenant le paquet en conflit: /home/joker/anaconda3/envs/conda_py27/lib/python2.7/site-packages.J'ai aussi marqué comme ressources (je ne sais pas si c'est obligatoire). Cliquez sur ok et la réindexation se produit. Ceci résolu le problème pour moi dans PyCharm Professional 2016.2.3

0
emeralddove

L'autre raison peut être interprète de projet . Par exemple, si vous utilisez Python3.x, mais que l'interpréteur est pour Python2.x, vous pouvez vérifier ici: 

Fichier | Paramètres | Projet: 'nom du projet' | Interprète de projet

0
torina