Poetryのコマンド
Poetyのコマンドは忘れがちなので、メモしておきます。
仮想環境にPythonをインストール
例えば、Python 3.9.8をインストールする場合。
pyenv install 3.9.8
pyenvを使用して、プロジェクトディレクトリでPython 3.9.8を使用する。
pyenv local 3.9.8
poetryプロジェクトディレクトリで、poetryの仮想環境を再作成。
poetry env use $(pyenv which python)
仮想環境が正しくアクティブになっていることを確認。
poetry shell
仮想環境がアクティブな状態で実行。
python XXXX.py
もしくは
poetry run python XXXX.py
poetry.lock の不整合の解消
poetryのlockファイルにの不整合があると
pyproject.toml changed significantly since poetry.lock was last generated. Run poetry lock [--no-update] to fix the lock file.
というメッセージが出力されるので、以下のコマンドでlockファイルを更新
poetry lock
Poetryプロジェクトを初期化
以下のコマンドを実行して、プロジェクトを初期化。
poetry init
このコマンドを入力すると、対話形式でプロジェクト名、バージョン、依存関係などを設定できる。質問に応じて回答するか、デフォルト設定を使用するべし。
Poetryの仮想環境管理設定 Poetryには仮想環境の管理に関する設定がある
poetry config virtualenvs.in-project true
のように設定している場合、プロジェクトディレクトリ内に.venvフォルダが作成される。
一方、デフォルト設定(poetry config virtualenvs.in-project false もしくは未設定)の場合は、システムの共有ディレクトリ(通常は~/.cache/pypoetry/virtualenvsなど)に仮想環境が作成される。
ただし、プロジェクトディレクトリに書き込み権限がない場合や特定の条件下では、virtualenvs.in-projectを有効にしていても.venvが生成されない場合がある。
環境変数POETRY_VIRTUALENVS_IN_PROJECTを設定することで、.venvの生成挙動を制御できます。この環境変数がtrueに設定されていると、プロジェクトディレクトリ内に仮想環境が作られる。