Ich habe eine Verzeichnisstruktur
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
Und ich kann mit auf das Netzwerkmodul zugreifen sys.path.insert()
.
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
Pycharm beschwert sich jedoch, dass es nicht auf das Modul zugreifen kann. Wie kann ich Pycham beibringen, um die Referenz aufzulösen?
__init__.py
Datei?Antworten:
Das manuelle Hinzufügen, wie Sie es getan haben, ist in der Tat eine Möglichkeit, dies zu tun. Es gibt jedoch eine einfachere Methode, indem Sie pycharm einfach mitteilen, dass Sie den
src
Ordner als Quellstamm hinzufügen möchten , und dann den Quellstamm zu Ihrem Python hinzufügen Pfad.Auf diese Weise müssen Sie die Einstellungen Ihres Dolmetschers nicht fest codieren:
src
hinzufügen:PYTHONPATH
:Auf diese Weise können Sie als Quellstamm alles hinzufügen, was Sie möchten, und die Dinge funktionieren einfach. Wenn Sie es jedoch als Quellstamm deaktiviert haben, wird folgende Fehlermeldung angezeigt:
Vergessen Sie nach all dem nicht, neu zu starten. Wählen Sie im PyCharm-Menü: Datei -> Caches ungültig machen / neu starten
quelle
src
wir zum Beispiel einenviews
Ordner habenmyview.py
, in dem ich michfrom src.views.myview import <my_function>
__init__.py
Datei imsrc
Ordnersrc
Ordner als Quellstamm hinzuPYTHONPATH
(siehe oben).quelle
Wenn sich jemand dies noch ansieht, funktioniert die akzeptierte Antwort immer noch für PyCharm 2016.3, als ich es ausprobiert habe. Die Benutzeroberfläche hat sich möglicherweise geändert, aber die Optionen sind immer noch dieselben.
dh. Klicken Sie mit der rechten Maustaste auf Ihren Stammordner -> 'Verzeichnis als markieren' -> Quellstamm
quelle
Nachdem Sie alle Problemumgehungen getestet haben, empfehle ich Ihnen, sie sich anzusehen
Settings -> Project -> project dependencies
und neu anzuordnen.quelle
pygame
und nicht mehr ungelöstes Referenzproblem!Normalerweise wird $ PYTHONPATH verwendet, um dem Python-Interpreter beizubringen, die erforderlichen Module zu finden . PyCharm muss den Pfad in den Einstellungen hinzufügen.
quelle
Im Allgemeinen ist dies ein fehlendes Paketproblem. Platzieren Sie das Caret einfach an der ungelösten Referenz und drücken Sie
Alt+Enter
, um die Optionen anzuzeigen. Dann sollten Sie wissen, wie Sie es lösen können.quelle
Nachdem ich der akzeptierten Antwort gefolgt bin, hat das folgende Problem für mich gelöst:
File
→Settings
→Project <your directory/project>
→Project Dependencies
Wählen Sie das Verzeichnis / Projekt aus, in dem sich Ihre Datei mit ungelösten Importen befindet, und aktivieren Sie das Kontrollkästchen, um Pycharm mitzuteilen, dass dieses Projekt von Ihrem anderen Projekt abhängt.
Meine Ordnerhierarchie unterscheidet sich geringfügig von der in der Frage. Meins ist so
Pycharm zu sagen, dass src davon abhängt, hat
MyDirectory
das Problem für mich gelöst!quelle
Obwohl alle Antworten wirklich hilfreich sind, gibt es eine winzige Information, die explizit erklärt werden sollte:
.py
Datei enthält , und dort eine__init__.py
(leere) Datei erstellen .Dies hilft, weil diese Datei erforderlich ist, damit Python das Verzeichnis als Pakete enthaltend behandelt. Prost!
quelle
Installation über PyCharm (funktioniert mit Community Edition). Öffnen Sie und
Settings > Project > Project Interpreter
klicken Sie auf das grüne + Symbol im folgenden Screenshot. Geben Sie im zweiten Dialogfeld den Paketnamen ein und klicken Sie auf die Schaltfläche "Paket installieren".quelle
Oft passiert, dass das Plugin nicht installiert ist. z.B
Wenn Sie ein Django-Projekt entwickeln und kein Django-Plugin in pyCharm installiert haben, wird der Fehler "ungelöste Referenz" angezeigt. Siehe: https://www.jetbrains.com/pycharm/help/resolving-references.html
quelle
Bitte überprüfen Sie, ob Sie den richtigen Dolmetscher verwenden, den Sie verwenden sollen. Ich habe den Fehler "ungelöste Referenz 'django'" erhalten, um dieses Problem zu beheben. Ich habe den Projektinterpreter (Python 3 in Python 2.7 geändert) aus den Projekteinstellungen geändert: Wählen Sie Projekt, gehen Sie zu Datei -> Einstellungen -> Projekt: -> Projektinterpreter -> Durchsuchen und Wählen Sie die richtige Version oder den richtigen Interpreter aus (z. B. /usr/bin/python2.7).
quelle
In meinem Fall bestand das Problem darin, dass ich
Virtual environment
keinen Zugriff auf globale Site-Pakete hatte. Daher waren dem Interpreter die neu installierten Pakete nicht bekannt.Um das Problem zu beheben, bearbeiten oder erstellen Sie einfach Ihren virtuellen Interpreter und aktivieren Sie die
Inherit global site-packages
Option.quelle
Das hat bei mir funktioniert:
Top Menu -> File -> Invalidate Caches/Restart
quelle
Fertig in PyCharm 2019.3.1 Klicken Sie mit der rechten Maustaste auf Ihren src-Ordner -> "Verzeichnis als" markieren -> Klicken Sie auf "Ausgeschlossen" und Ihr src-Ordner sollte blau sein.
quelle
Pycharm verwendet venv. In der venv-Konsole sollten Sie die Pakete explizit installieren oder hineingehen
settings -> project interpreter -> add interpreter -> inherit global site-packages
.quelle
In neueren Versionen von pycharm können Sie dies einfach tun, indem Sie mit der rechten Maustaste auf das Verzeichnis oder Python-Paket klicken, aus dem Sie eine Datei importieren möchten, und dann auf "Verzeichnis als" markieren -> "Quellenstamm" klicken.
quelle
Der einfachste Weg, dies zu beheben, besteht darin, in Ihrer pyCharm-Software Folgendes zu tun:
Klicken Sie auf: Datei> Einstellungen> (Projekt: Ihr Projektname)> Projektinterpreter>
Klicken Sie dann auf das Symbol "+" auf der rechten Seite, um nach dem gewünschten Paket zu suchen und es zu installieren.
Viel Spaß beim Codieren !!!
quelle