[PYTHON] Exemple de projet de référence Poetry sur GitHub

introduction

La plus grande différence entre Pipenv et la poésie est que Pipenv ne peut pas être utilisé dans des projets de bibliothèque, mais je pensais que la poésie pouvait être utilisée, alors j'ai étudié la poésie.

Ceci est un exemple qui installe deux projets, le projet principal et le projet de bibliothèque, via Github et exécute les fonctions du projet de bibliothèque à partir du projet principal.

Les sources sont répertoriées dans projet principal et projet de bibliothèque.

Structure du répertoire

poetry-lib


├── pyproject.toml
└── poetry_lib
    └── aaa2.py

poetry-main


├── pyproject.toml
└── main.py

Fichier

poetry-lib

pyproject.toml


[tool.poetry]
name = "poetry-lib"
version = "0.1.0"
description = ""
authors = ["va034600"]
packages = [
    { include = "poetry_lib" },
]

[tool.poetry.dependencies]
python = "^3.6"
python-dateutil = "^2.8.1"

[tool.poetry.dev-dependencies]

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

aaa2.py


from dateutil.relativedelta import *
from datetime import *


def bbb2():
    today = datetime.now()
    return today + relativedelta(months=+6)

poetry-main

pyproject.toml


[tool.poetry]
name = "poetry-main"
version = "0.1.0"
description = ""
authors = ["va034600"]

[tool.poetry.dependencies]
python = "^3.6"
poetry-lib = { git = "ssh://[email protected]/va034600/poetry-lib.git" }

[tool.poetry.dev-dependencies]

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

main.py


from poetry_lib import aaa2

print(aaa2.bbb2())

Courir

setup


$ cd poetry-main
$ poetry install
$ python main.py
2021-03-13 08:00:14.266597

À la fin

Si vous utilisez Pytharm, vous pouvez déboguer et vérifier le reflet de la bibliothèque modifiée en attachant le projet de bibliothèque au projet principal. Pratique スクリーンショット 2020-09-13 8.09.38.png

Recommended Posts

Exemple de projet de référence Poetry sur GitHub
Comment référencer des fichiers statiques dans un projet Django
Comment utiliser GitHub sur un serveur multi-personnes sans mot de passe
Exemple pour mettre l'application Web Python Flask sur Azure App Service (Web App)
Exemple de script pour surveiller la charge moyenne avec CloudWatch sur AWS EC2