Ich verwende das folgende Setup
Ich möchte Linting verwenden, um mein Leben im Visual Studio-Code ein wenig zu vereinfachen. Bei jedem Import wird jedoch "ungelöster Import" angegeben. Auch bei Standard-Django -Importen (d. H. Von Django.db-Importmodellen).
Ich nehme an, dass dies daran liegt, dass die Dateien der virtuellen Umgebung python nicht angezeigt werden.
Alles funktioniert gut, aber es wird langsam nervig.
Die Interpreter-Auswahlmöglichkeiten, die ich habe, sind alle Systemversionen von Python. Es scheint meine virtuelle Umgebung python überhaupt nicht zu sehen (sie befindet sich nicht im selben Verzeichnis wie mein Arbeitsbereich, daher ist dieser Teil sinnvoll).
Wenn ich python.PythonPath in der settings.json-Datei einrichte, ignoriert es es einfach und listet meinen Pfad zur virtuellen Umgebung nicht als Option auf. Ich habe auch versucht, es in meinen globalen python -Einstellungen einzurichten, aber es wird auch nicht angezeigt.
Hat jemand auf dieses Problem gestoßen und eine schnelle Lösung gefunden, um es zum Laufen zu bringen?
Danke, jAC
In Ihrem Arbeitsbereichseinstellungen können Sie Ihren python -Pfad wie folgt festlegen:
{
"python.pythonPath": "/path/to/your/venv/bin/python",
}
Dieses Problem wurde bereits auf GitHub geöffnet: https://github.com/Microsoft/vscode-python/issues/384 Es gibt zwei sehr nützliche Antworten von MagnuesBrzenk und SpenHouet.
Die beste Lösung für den Moment ist das Erstellen einer ENV-Datei in Ihrem Projektstammordner. Fügen Sie dann einen PYTHONPATH wie folgt hinzu:
PYTHONPATH=YOUR/MODULES/PATH
und in deiner settings.json hinzufügen
"python.envFile": ".env"
Wenn Sie diesen Code in Ihrer settings.json
-Datei haben, löschen Sie ihn
{
"python.jediEnabled": false
}
Wenn ich > reload window
das behebt.
ref: https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-452657892
Ich konnte dieses Problem lösen, indem ich jedi in .vscode\settings.json aktivierte
"python.jediEnabled": true
Referenz von https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-456017675
Keines der oben genannten hat bei mir funktioniert. Das Hinzufügen der beiden folgenden Zeilen zu meiner settings.json-Datei hat jedoch funktioniert.
"python.analysis.disabled": [
"unresolved-import"
],
"python.linting.pylintArgs": ["--load-plugin","pylint_protobuf"]
Die erste Zeile verbirgt wirklich nur den Flusenfehler. Mit Sicherheit keine dauerhafte Lösung, sondern macht den Bildschirm unübersichtlich.
Diese Antwort gab mir die zweite Zeile: VS-Code PyLint-Fehler E0602 (undefinierte Variable) mit ProtoBuf-kompilierter Python-Struktur
Vielleicht kann jemand, der python mehr versteht als ich, das noch erklären.
Ich habe eine andere Lösung: Meine VSCode-Instanz hat die in .venv
gespeicherte virtuelle Datei aufgenommen, aber die falsche Python-Binärdatei verwendet. Es wurde .venv/bin/python3.7
verwendet; Mit dem Umschalter in der blauen Statusleiste habe ich ihn in .venv/bin/python
geändert und alle meine Importe wurden korrekt aufgelöst. Ich weiß nicht, was VSCode hinter den Kulissen tut, wenn ich dies tue, und ich verstehe auch nicht, warum dies mein Problem verursacht hat, aber für mich war dies eine etwas einfachere Lösung als das Bearbeiten meiner Arbeitsbereicheinstellungen. Ich hoffe es hilft jemandem.
Die akzeptierte Antwort behebt den Fehler beim Importieren eigener Module nicht. Verwenden Sie die folgenden Einstellungen in Ihren Arbeitsbereicheinstellungen .vscode/settings.json
"python.autoComplete.extraPaths": ["./path-to-your-code"],
Falls ein Pylint-Fehler auftritt, installieren Sie Folgendes
pipenv install pylint-Django
Erstellen Sie dann eine Datei . Pylintrc im Stammordner und schreiben Sie Folgendes
load-plugins=pylint-Django