[python]はいつまで書きますか?(feat.poetry)



最近、会社はパイソンのコース管理について「詩」の導入を提案した.初めて詩を聞いたとき、私は目的もなくグーグルで遊んだ.

What is poetry?


Pometryは、Pythonプロジェクトの依存項目を宣言、管理、インストールし、プロジェクトをどこでも実行できるツールです.Pipとは違うtoml fileと」.ロックファイルを作成して依存項目を管理します.

poetry vs pip


では、代表的なPythonパッケージや依存マネージャpipを使わずに詩を書くべき(?)理由は何ですか.

1. dependency resolving


これを機に詩歌を設置・使用する際、最大の機能を感じました.例えば、パッケージaがあります.パッケージaのインストールにはパッケージb(>=0.6,<1.0)&パッケージc(>=1.3.0)が必要です.このときpipはpackage bの最新バージョン1.2に設定されても問題は発生しません.しかし、詩はpackageのバージョンに関する情報をチェックし、packageの要求バージョンでなければインストールしないでください.

2. dependency locking


pipはプロジェクトのユーザーを要求します.txtなどを作成してパッケージを管理します.でも詩.ファイルとをロックします.tomlファイルの自動作成と更新...!

3. virtual enviorment


pipとは異なり、pipはグローバルにすべてのパケットをインストールし、パケットのバージョンを競合させ、詩が仮想環境を自動的に管理できるようにします.

How to use?


実際、poetryの公式文書には使用方法が詳しく記載されているので、単独で説明を書きたくない.でもここには重要なものがあります!!
詩歌を使用する場合、ディレクトリ構造は以下の詩歌基準に従うべきである.
poetry-demo
├── pyproject.toml
├── README.rst
├── poetry_demo
│   └── __init__.py
└── tests
    ├── __init__.py
    └── test_poetry_demo.py
もちろん、下図のようにプロジェクト名を追加して生成すると、詩歌はtestファイルを含むプロジェクトディレクトリ構造を自動的に設定します^^
$ poetry new 프로젝트_A
そして自動的に生成されます.Tomlファイルには、プロジェクトのメタデータが含まれています.lockファイルは、インストールされたパッケージのバージョンとhashを格納します.

終了後..。


チームメンバーたちは、会社がセット管理を詩から全体に移行したが、まだ不安定で欠陥があり、機能も不足していると考えている.
それでも、これらの記事を作成する理由は、pipを使用してパッケージを管理する必要があると考えているユーザー(これらの記事を作成する前に...?)のために.
実際、詩をインストールして使用していると、パッケージを一つ一つ更新して管理するよりも、詩を見て使っているパッケージのバージョンをチェックし、バージョンに応じて更新して管理することで、効率的にプロジェクトを管理することができると感じています.

reference


https://www.focuslearning.ca/courses/poetry
https://chacha95.github.io/2021-03-27-python7/
https://spoqa.github.io/2019/08/09/brand-new-python-dependency-manager-poetry.html
https://velog.io/@hj8853/Poetry%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EB%A7%8C%EB%93%A4%EA%B8%B0
https://velog.io/@fhwmqkfl/TILPoetry