La poésie a atteint 1.0.0 à la fin de l'année dernière le 12/12/2019, alors je l'ai essayée.
Poetry est un outil de gestion des packages et des dépendances pour Python.
En tant qu'outil similaire Il existe setuptools et Pipenv, mais Poetry peut couvrir les deux fonctions avec celui-ci.
** Je suis attiré par le fait qu '"un fichier toml est tout ce dont vous avez besoin" **. Ou plutôt, je pensais que c'était ** merveilleux **.
poésie v1.0.5 (dernière en date du 11 mai 2020)
https://python-poetry.org/docs/basic-usage/ https://python-poetry.org/docs/cli/#new
$ poetry new <nom du projet>
Après l'exécution, les dossiers suivants seront créés.
<nom du projet>
├── pyproject.toml
├── README.rst
├── poetry_demo
│ └── __init__.py
└── tests
├── __init__.py
└── test_poetry_demo.py
Le pyproject.toml
contenu dans le dossier créé est le fichier de configuration de poésie.
C'est un fichier qui remplace setup.py
/ setup.cfg
/ Pipfile
, et le contenu écrit dans chaque fichier peut être décrit dans pyproject.toml
.
Si vous le recherchez, il sera remplacé, donc si vous êtes intéressé, veuillez consulter le lien sur la page officielle.
https://python-poetry.org/docs/pyproject/
pyproject.tml
[tool.poetry]
name = "<nom du projet>"
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
#Ajouter une bibliothèque dépendante
$ poetry add requests
#Ajout de bibliothèques dépendantes pour le développement
$ poetry add --dev requests
Bien sûr, vous pouvez également spécifier la version. Cela ne semble pas être très différent de requirements.txt
/ setup.py
/ Pipfile
.
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
#Courez en un seul coup
$ poetry run python -m pip list
#Courir avec shell
$ poetry shell
Il semble que vous puissiez faire quelque chose comme npm-scripts en spécifiant le module Python que vous voulez exécuter dans pyproject.toml
.
pyproject.tml
[tool.poetry.scripts]
my-script = "my_module:main"
$ poetry run my-script
https://python-poetry.org/docs/cli/#build
$ poetry build
Par défaut, les deux sdist / wheel sont créés.
Vous pouvez utiliser l'un ou l'autre avec l'option --format
.
https://python-poetry.org/docs/cli/#export
$ poetry export -f requirements.txt > requirements.txt
Il semble que la v1.0.2 ne prend en charge que le format requirements.txt.
PyCharm (2019.03) a reconnu pyproject.toml
et a détecté l'environnement virtuel.
Visual Studio Code ne le reconnaît pas automatiquement.
C'est un problème, mais l'un des éléments suivants est requis.
settings.json
.venv
qui le reconnaît automatiquement (* Je préfère personnellement cela)https://github.com/microsoft/vscode-python/issues/8372#issuecomment-549924849
settings.json
Ceci est un exemple sur Mac.
settings.json
{
"python.venvPath": "~/Library/Caches/pypoetry/virtualenvs"
}
.venv
#Supprimer l'environnement Python qui a été créé une fois
$ poetry env list
$ poetry env remove <Nom de l'environnement>
# .Modifier les paramètres pour enregistrer dans venv--> poetry.Sortie vers toml.
$ poetry config virutalenv.local true --local
#Créer un environnement virtuel--> .Sortie dans le dossier venv.
$ poetry install
Après cela, si vous rechargez le paramètre Interpréteur Python de Visual Studio Code et que vous l'examinez, vous pouvez sélectionner le dossier .venv
.