Usage Poetry#
プロジェクトのフォルダを作成#
$ cd xxxx
$ mkdir XProject
プロジェクトにpoetryを導入#
導入するコマンドとして,newとinitがある.
けど,newは勝手にフォルダとファイルの構成を作成するため,initでいいと思う.
$ cd XProject
$ poetry init
実行すると,対話型で以下の項目が訊かれるので,順番に答える
[DEFAULT値]で良ければ,eNTERを押すだけ
※pACKAGE NAMEと同じ名前の依存関係(パッケージ)はインストールできなくなる
> Package name [sphinx]:
> Version [0.1.0]:
> Description []:
> Author [xxxUser <user@example.co.jp>, n to skip]:
> License []:
> Compatible Python versions [^3.10]: ^3.11
> Would you like to define your main dependencies interactively? (yes/no) [yes] no
> Would you like to define your development dependencies interactively? (yes/no) [yes] no
> Do you confirm generation? (yes/no) [yes]
最後にmain環境と開発環境の依存関係の登録をするか訊かれる.
あとからaddコマンドを使って追加できるので,今回は無視した.
pyoroject.toml#
poetry newやpoetry initを実行すると,pyproject.tomlが生成される.
これはPEP-518で定義されたPython標準のフォーマット.
依存関係の情報などを持つ.
従来はsetup.pyやrequirement.txtを用意していたが,pyproject.tomlに統合された感じ
依存関係の追加#
pipコマンドでパッケージのインストールは,addコマンドで可能.
追加したパッケージはpyproject.tomlに追加される
# poetry add <package name>
$ poetry add numpy
仮想環境のセットアップ#
installコマンドを実行すると,./.venvが生成される
.venvディレクトリ配下に仮想環境のファイルが生成され,pyproject.tomlに書かれた依存関係も同時にインストールされる.
$ poetry install
仮想環境でコマンドを実行#
runコマンドを使用して,Pythonの実行などを行う
# poetry run <command>
$ poetry run python main.py
$ poetry run mypy main.py
shell コマンドでも 実行可能.poetry run を省略できる
$ poetry shell
(py-3.12) $ python main.py
(py-3.12) $ mypy main.py
仮想環境の詳細確認#
$ poetry env info
Reference#
https://qiita.com/canonrock16/items/f77ee2a2df9be5b8cc37
https://qiita.com/shun198/items/97483a227f288ad58112#%E6%97%A2%E5%AD%98%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%ABpoetry%E3%82%92%E5%B0%8E%E5%85%A5
https://qiita.com/ksato9700/items/b893cf1db83605898d8a#%E6%97%A2%E3%81%AB%E3%81%82%E3%82%8B%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92poetry%E7%AE%A1%E7%90%86%E4%B8%8B%E3%81%AB%E7%BD%AE%E3%81%8F%E5%A0%B4%E5%90%88