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
echo $ SHELL
→ / bin / zsh
wird angezeigtLassen 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
Die erforderlichen Plug-Ins lauten wie folgt. Bitte installieren Sie über die Installationspalette der VS Code-Erweiterung.
ms-python.python
magicstack.magicpython
visualstudioexptteam.vscodeintellicode
ms-pyright.pyright
formulahendry.code-runner
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.
Python: Select Interpreter
einPython 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.
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.
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"
}
}
njpwerner.autodocstring
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