VS-Code-Einstellungen für die Entwicklung in Python mit Abschluss

Einführung

Ich verwende VSCode, wusste aber nicht, welches Plug-In (Erweiterung) zum Einrichten der Python-Entwicklungsumgebung eingerichtet werden sollte.

Als ich mein eigenes Paket (Modul) einfügte, wurde ich wütend auf "Can't Resolve ~" ...

Aber in letzter Zeit habe ich verstanden, welches Plug-In verwendet und wie es konfiguriert werden soll.

Ich hoffe, es hilft Menschen, die Probleme haben, eine Python-Entwicklungsumgebung wie mich in der Vergangenheit aufzubauen.

--Prämisse

Stellen Sie Pyenv auf dem Mac zur Verfügung

Lassen Sie uns die Python-Umgebung einrichten. Installieren Sie Anyenv, Pyenv und Virtualenv.

Dies hält die Standard-Python-Umgebung auf Ihrem Mac sauber.

(** Es scheint, dass Pipenv auf den Straßen viel Aufmerksamkeit bekommt **. Ich werde es das nächste Mal versuchen)

terminal


$ brew install anyenv
$ anyenv install pyenv
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc
$ anyenv install --init #Das ist PYENV_Es durchläuft die Umgebungsvariablen ROOT und PATH
$ echo $PYENV_ROOT
~/.anyenv/envs/pyenv
$ brew install pyenv-virtualenv

Versuchen wir, eine virtuelle Python-Umgebung zu erstellen.

terminal


$ pyenv install 3.8.6  # 3.8.6 Python installiert
$ pyenv virtualenv 3.8.6 Sandbox  # 3.8.Erstellen Sie eine virtuelle Umgebung namens Sandbox basierend auf 6
$ mkdir -p ~/Documents/playground/python && cd "$_"  #Erstellen Sie ein Beispielverzeichnis und verschieben Sie es
$ pyenv local Sandbox  #Dieses Verzeichnis verwendet Python in der Sandbox-Umgebung
$ pyenv version  #Überprüfen Sie die virtuelle Umgebung, die Sie derzeit verwenden
Sandbox

Verwenden Sie die Vervollständigung, indem Sie einen Stecker in den VS-Code einfügen

Die erforderlichen Plug-Ins lauten wie folgt. Bitte installieren Sie über die Installationspalette der VS Code-Erweiterung.

Einstellungen für jedes Plug-In

Setzt hauptsächlich PYTHONPATH. Indem Sie dem Plug-In des von Ihnen erstellten Pakets (Pakets) mitteilen, können Sie die Leistungsfähigkeit der Komplementärfunktion vollständig demonstrieren.

In diesem Projekt ist die Ordnerstruktur wie folgt.

In diesem Artikel werden wir auch in einer virtuellen Umgebung namens "Sandbox" entwickeln, die in der Installationsmethode von pyenv verwendet wurde.

  1. Öffnen Sie in VSCode die Befehlspalette mit Befehl + Umschalt + P (macOS) / Strg + Umschalt + P (Windows).
  2. Geben Sie zur Auswahl Python: Select Interpreter ein
  3. Wählen Sie die zu verwendende Umgebung von pyenv aus (in diesem Beispiel "Sandbox").

Screen Shot 2020-11-07 at 19.11.18.png

Python Language Server

Zunächst werden wir flake8 als Linter einführen (statisches Code-Check-Tool; es wird überprüft, ob es auf Code-Konventionen usw. basiert).

terminal


pip install flake8

Als nächstes schreiben Sie die Einstellungen in .vscode / settings.json.

Die wichtigen Elemente hier sind das Element "python.envFile" und die ".env" -Datei. Teilen Sie dem Python Language Server mit, wo sich das "Stammverzeichnis des Python-Programms" befindet.

$ {workspaceFolder} gibt das in VS Code geöffnete Verzeichnis an.

json:.vscode/settings.json


{
  "python.linting.pylintEnabled": false,
  "python.linting.flake8Enabled": true,
  "python.linting.enabled": true,
  "python.linting.lintOnSave": true,
  "python.envFile": "${workspaceFolder}/.env"
}

Das eigentliche Stammverzeichnis ist in .env geschrieben.

(* Wenn app / src / heißt, habe ich mein eigenes Paket gelesen, ohne PYTHONPATH gesetzt zu haben. Setzt VSCode src / standardmäßig in PATH?)

.env


PYTHONPATH=app/

Einstellungen zum Ausführen von Python mit einem Debug-Tool. Sie können mit Haltepunkten und Uhren ausführen, wie im folgenden Bildschirm gezeigt. Stellen Sie daher sicher, dass Sie diese festlegen.

Screen Shot 2020-11-07 at 19.47.15.png

json:.vscode/launch.json


{
  "configurations": [
    {
      "name": "Python: Current File",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal"
    },
    {
      "name": "Python: Main",
      "type": "python",
      "request": "launch",
      "program": "${workspaceRoot}/app/main.py",
      "console": "integratedTerminal"
    }
  ]
}

Pyright

Typinferenz und statische Analyse sind leistungsstark. In der Abbildung unten warnt Pyright Sie, dass der Typ des ersten Arguments falsch ist. Python Language Server allein zeigt diese Warnung nicht an.

Legen Sie das Stammverzeichnis des Programms für die Namensauflösung Ihres eigenen Pakets fest.

pyrightcofig.json


{
  "executionEnvironments": [
    {
      "root": "app",
      "pythonVersion": "3.8"
    }
  ]
}

Code Runner

Die aktuell geöffnete Datei wird mit einem Klick oder Strg + Wahltaste + N (macOS) ausgeführt. Da auch die Ausführungszeit angezeigt wird, scheint sie zur Programmoptimierung verwendet werden zu können.

Screen Shot 2020-11-07 at 20.04.49.png

Setzen Sie "App-Verzeichnis ist das Stammverzeichnis der Python-Ausführung ( $ workspaceRoot / app) und führen Sie es in der virtuellen Umgebung von Sandbox ($ pythonPath) aus".

json:.vscode/settings.json


{
  "code-runner.executorMap": {
    "python": "export PYTHONPATH=$workspaceRoot/app && $pythonPath -B -u $fullFileName"
  }
}

Empfohlenes Plug-In, das die Python-Entwicklung explosiv macht

Python Docstring Generator

Screen Shot 2020-11-07 at 20.15.37.png

schließlich

PyCharm und Wing sind berühmt für Python-IDEs, aber VS Code verfügt auch über erweiterte Funktionen. Ich denke, dass es eine leistungsstarke IDE sein kann, wenn Sie die Konfiguration fest schreiben.

(Es ist ärgerlich, überall PYTHONPATH schreiben zu müssen ...)

Microsoft hat ein Plug-In namens Pylance in der Beta veröffentlicht, und ich hoffe, dass die Entwicklung mit VS Code bequemer wird. Ich bin.

Außerdem habe ich es im Geiste von * "Fertig ist besser als perfekt." * Geschrieben. Bitte weisen Sie auf Teile hin, die schwer zu verstehen sind. Wenn Sie andere empfohlene Einstellungen haben, würde ich mich freuen, wenn Sie mich in den Kommentaren darüber informieren könnten.

Danke fürs Lesen. Wenn Sie es nützlich finden, wird ** LGTM ** ermutigend sein.

Recommended Posts

VS-Code-Einstellungen für die Entwicklung in Python mit Abschluss
Einstellungen beim Entwickeln von App Engine / Python-Apps mit VS-Code
Verwenden Sie Python in einer Anaconda-Umgebung mit VS-Code
Einstellungen für die Python-Codierung mit Visual Studio-Code
Einstellungen für den Einstieg in MongoDB mit Python
Python mit VSCode (Windows 10)
Debuggen Sie Python mit VS-Code
Beleben Sie die Symbolsuche im Python-Arbeitsbereich mit VS-Code
Stellen Sie settings.json für eine effiziente Python-Codierung mit VS-Code bereit
Installieren Sie Python mit Mac vs Code
Fügen Sie die Import-Anweisung ein, die für die Vervollständigung des Python-Codes in Neovim erforderlich ist
Wettbewerb mit VS-Code Erstellen Sie eine Python-Umgebung für Profis unter Windows
Tipps zum Umgang mit Binärdateien in Python
VS-Code-Einstellungen
(Für mich) Setzen Sie den Kolben in den VS-Code ein
Pass PYTHONPATH in 1 Minute mit VS Code
Verarbeiten Sie mehrere Listen mit for in Python
Debug-Einstellungen in der virtuellen Umgebung bei Verwendung von Pipenv mit VSCode
Bereiten Sie mit venv mit VS Code eine virtuelle Python-Umgebung für Ihr Projekt vor
Virtuelle Python / Windows (Windows 10) -Umgebung / Paket mit VSCode
Debuggen mit VS-Code mit Boost Python Numpy
Protokollierungseinstellungen für die tägliche Protokollrotation mit Python
[Einführung für Anfänger] Umgang mit MySQL mit Python
[Visual Studio Code] [Python] Tasks.json + problemMatcher-Einstellungen für Python
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
Aktivieren Sie externe Bibliotheksinformationen mit Pipenv + VSCode
Super einfacher Fall k-means Methode Python-Code
Umgebungskonstruktion für diejenigen, die Python einfach mit VSCode (für Mac) lernen möchten
Holen Sie sich den Ländercode mit Python
Schaben mit Selen in Python
Betreiben Sie LibreOffice mit Python
Schaben mit Chromedriver in Python
Debuggen mit pdb in Python
Schreiben Sie Spigot in VS Code
Umgang mit Sounds in Python
Persönliches Python-Code-Memo
Scraping mit Selen in Python
Techniken zum Sortieren in Python
Scraping mit Tor in Python
Tweet mit Bild in Python
Kombiniert mit Ordnungszahl in Python
Generieren Sie QR-Code in Python
[Python] Beispielcode für die Python-Grammatik
In Python gelernter Zeichencode
Über "für _ in range ():" von Python
Dokumentieren Sie Python-Code mit Doxygen
Lassen Sie uns jupyter ausführen, das von VS Code nativ mit python3.8 unterstützt wird
Probieren Sie Fortran mit VS-Code aus, um Einstellungen zu debuggen. [Win10]
Erstellen Sie ein untergeordnetes Konto für die Verbindung mit Stripe in Python
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
(Für mich) Flask_8 (Hinzufügen / Bearbeiten / Löschen in Datenbank mit Python)
Einstellungen zum Eingeben und Debuggen des Inhalts der Bibliothek mit VS-Code
Die Geschichte, dass Python nicht mehr mit VS Code (Windows 10) arbeitet
Komfortables LaTeX mit Windows-Subsystem für Linux und VS-Code
UpNext2 Development Record # 1 Erstellen Sie eine Python CI-Umgebung in VS Code
Ich möchte Python mit VS-Code ausführen können