Die Poesie erreichte Ende letzten Jahres am 12.12.2019 1.0.0, also habe ich es versucht.
Poetry ist ein Paket- und Abhängigkeitsmanagement-Tool für Python.
Als ähnliches Werkzeug Es gibt Setuptools und Pipenv, aber Poetry kann mit dieser Funktion beide Funktionen abdecken.
** Ich bin von der Tatsache angezogen, dass "eine Toml-Datei alles ist, was Sie brauchen" **. Oder besser gesagt, ich fand es ** wunderbar **.
Poesie v1.0.5 (spätestens 11. Mai 2020)
https://python-poetry.org/docs/basic-usage/ https://python-poetry.org/docs/cli/#new
$ poetry new <Projektname>
Nach der Ausführung werden die folgenden Ordner erstellt.
<Projektname>
├── pyproject.toml
├── README.rst
├── poetry_demo
│ └── __init__.py
└── tests
├── __init__.py
└── test_poetry_demo.py
Die im erstellten Ordner enthaltene pyproject.toml
ist die Poetry-Konfigurationsdatei.
Es ist eine Datei, die setup.py
/ setup.cfg
/ Pipfile
ersetzt, und der in jede Datei geschriebene Inhalt kann in pyproject.toml
beschrieben werden.
Wenn Sie es nachschlagen, wird es ersetzt. Wenn Sie interessiert sind, lesen Sie bitte den Link auf der offiziellen Seite.
https://python-poetry.org/docs/pyproject/
pyproject.tml
[tool.poetry]
name = "<Projektname>"
version = "0.1.0"
description = ""
authors = ["Sébastien Eustace <[email protected]>"]
[tool.poetry.dependencies]
python = "*"
[tool.poetry.dev-dependencies]
pytest = "^3.4"
https://python-poetry.org/docs/cli/#add
#Abhängige Bibliothek hinzufügen
$ poetry add requests
#Hinzufügen abhängiger Bibliotheken für die Entwicklung
$ poetry add --dev requests
Natürlich können Sie auch die Version angeben. Es scheint sich nicht wesentlich von "require.txt" / "setup.py" / "Pipfile" zu unterscheiden. https://python-poetry.org/docs/dependency-specification/
https://python-poetry.org/docs/cli/#install
$ poetry install
https://python-poetry.org/docs/cli/#run https://python-poetry.org/docs/cli/#shell
#Laufen Sie in einem einzigen Schuss
$ poetry run python -m pip list
#Mit Shell ausführen
$ poetry shell
Es scheint, dass Sie so etwas wie npm-Skripte ausführen können, indem Sie das Python-Modul angeben, das Sie in pyproject.toml
ausführen möchten.
pyproject.tml
[tool.poetry.scripts]
my-script = "my_module:main"
$ poetry run my-script
https://python-poetry.org/docs/cli/#build
$ poetry build
Standardmäßig werden beide SDIST / Wheel erstellt. Sie können beide mit der Option "--format" verwenden.
https://python-poetry.org/docs/cli/#export
$ poetry export -f requirements.txt > requirements.txt
Es scheint, dass v1.0.2 nur das Format der Anforderung.txt unterstützt.
PyCharm (2019.03) hat "pyproject.toml" erkannt und die virtuelle Umgebung erkannt.
Visual Studio Code erkennt es nicht automatisch.
Es ist ein Ärger, aber eines der folgenden ist erforderlich.
https://github.com/microsoft/vscode-python/issues/8372#issuecomment-549924849
settings.json
Dies ist ein Beispiel für einen Mac.
settings.json
{
"python.venvPath": "~/Library/Caches/pypoetry/virtualenvs"
}
#Löschen Sie die einmal erstellte Python-Umgebung
$ poetry env list
$ poetry env remove <Umgebungsname>
# .Ändern Sie die Einstellungen, um sie in venv zu speichern--> poetry.Ausgabe an toml.
$ poetry config virutalenv.local true --local
#Erstellen Sie eine virtuelle Umgebung--> .Ausgabe in den venv-Ordner.
$ poetry install
Wenn Sie danach die Python Interpreter-Einstellung von Visual Studio Code neu laden und anzeigen, können Sie den Ordner ".venv" auswählen.
Recommended Posts