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