[PYTHON] Utilisation de la poésie avec des poissons (migration depuis Pipenv)

introduction

Les Meilleures pratiques de gestion des paquets Python pour 2020 étaient très animées, alors j'ai recherché et trouvé que j'avais été intéressé par [Poetry](https: /). (/python-poetry.org) est plutôt bon, j'ai donc migré depuis Pipenv.

environnement

OS: macOS 10.15 Catalina Shell: Fish

Installation de poésie

pip install poetry

Paramètres des variables d'environnement

Dans Pipenv, l'environnement virtuel a été défini comme suit afin qu'il soit créé dans le dossier du projet.

export PIPENV_VENV_IN_PROJECT=true

Dans la poésie, il semble que vous devriez définir comme suit.

poetry config --list
poetry config virtualenvs.in-project true

Pipfile→pyproject.toml Poetry gère la bibliothèque avec pyproject.toml, donc une conversion est nécessaire. Heureusement, l'outil de conversion poetrify est ouvert au public, je vais donc l'utiliser (pour plus de détails, voir [Blog de l'auteur](http: // kk6.). Voir hateblo.jp/entry/2019/01/16/191452).


pip install poetrify
cd example/
poetrify generate

J'ai essayé de convertir le Pipfile et cela a fonctionné.

Pipfile


[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
black = "==18.3a1"
mypy = "*"
pytest = "*"

[packages]
numpy = "*"
scipy = "*"
plotly = "*"
sklearn = "*"

[requires]
python_version = "3.7"

pyproject.toml


[tool.poetry]
name = "exampy"
version = "0.1.0"
description = ""
authors = ["ryoppippi <[email protected]>"]

[tool.poetry.dependencies]
python = "^3.7"
numpy = "^1.17.4"
scipy = "^1.4.1"
plotly = "^4.4.1"
sklearn = "^0.0"

[tool.poetry.dev-dependencies]
black = "^19.10b0"
mypy = "^0.761"
pytest = "^5.3.2"

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"

Construire un environnement virtuel

Exécutez ce qui suit pour construire l'environnement virtuel, créez le fichier poetry.lock et démarrez l'environnement virtuel.

poetry shell

Dec-21-2019 19-44-51.gif

Plugin pour les poissons

J'utilise Fish comme coquille, mais à l'époque de Pipenv, j'utilisais un plug-in appelé fish-pipenv. Ce plug-in était excellent car il active automatiquement l'environnement virtuel lorsque vous vous déplacez vers le répertoire du projet construit avec pipenv. Malheureusement, il n'y avait pas encore d'équivalent pour la poésie, alors je l'ai fait moi-même cette fois. Je veux que vous vous en serviez. fish-poetry Dec-21-2019 19-55-32.gif

Résumé

Il n'y a pas de mécontentement quant au fait que la coopération avec Pyenv soit un peu subtile, mais il y a de nombreux avantages tels que le verrouillage qui se termine très tôt. Je vais passer à la poésie un par un.

Recommended Posts

Utilisation de la poésie avec des poissons (migration depuis Pipenv)
Utilisation de Rstan de Python avec PypeR
Déployer l'application flask avec mod_wsgi (à l'aide de pipenv)
Installation de Pipenv avec ssh à partir du référentiel Bitbucket privé
Histoire de passer de Pipenv à la poésie
Analyse des composants principaux à l'aide de python de nim avec nimpy
J'ai essayé d'utiliser Pipenv
[Python] Poésie que j'ai commencé & Impression que j'ai passé de Pipenv à la poésie
J'ai essayé d'utiliser la bibliothèque Python de Ruby avec PyCall
Reconnaissance d'image avec API à partir de zéro connaissance avec AutoML Vision
Je veux installer le package de requirements.txt avec poésie