環境
- macOS Monterey 12.6
- Windows 11
- Python 3.10.5
- VSCode
Poetryとは
Poetryは、仮想環境の生成・Pythonのパッケージ管理が可能なツールです。また、pipenvより処理が早いです。
導入手順
基本的には、公式Docに従って進めれば OKです。
https://python-poetry.org/docs/
インストーラーをダウンロード
pipでインストールすることも可能ですが、非推奨なので今回はcurlでインストーラをダウンロードして、実行します
Linux, macOS, Windows (WSL)
curl -sSL https://install.python-poetry.org | python3 -
Windows (Powershell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
※get-poetry.pyやinstall-poetry.pyなどを使用している技術記事が多いですが、これらは旧インストーラーのため、エラーになるので注意ください
Poetryをインストールする
インストーラーを実行すると、OSごとに以下のディレクトリにPoetryがインストールされます。
※インストーラをcurlでダウンロードする際にPOETRY_HOMEでパスを指定することで変更は可能です
- MacOS
~/Library/Application Support/pypoetry
- Linux/Unix
~/.local/share/pypoetry
- Windows
- %APPDATA%\pypoetry
Poetryのパスを通す
export PATH=$HOME/your pypoetry path:$PATH
パスが通っているか以下で確認して完了。
※windowsの場合は、環境変数を編集の項目から、ユーザー定義変数に%APPDATA%\pypoetry\venv\ScriptsをPATHに追加する
poetry --version
基本的な使い方
プロジェクト初期化
完全に新規でプロジェクトを作成する
poetry new project_name
すでにプロジェクトが存在する場合はこちら
poetry init
対話式で色々と聞かれるので、全て選択していく。
プロジェクト直下に、pyproject.tomlとpoetry.lockが生成される
環境の再現
lockファイルから環境を再現
poetry.lockがあるディレクトリで下記のコマンドを実行する。実行するとlockファイルからライブラリがインストールされるとともに、仮想環境が作成される
poetry install --no-root
仮想環境の作成場所を変更する
デフォルトだと仮想環境は`~/Library/Caches/pypoetry/virtualenvs/` に作られるため、管理がしずらい。プロジェクト直下に作成するには、
poetryの設定一覧を表示
poetry config --list
デフォルトだと、virtualenvs.in-projectという設定値がnullないしfalseになっているので、これをtrueにしてからインストールコマンドを実行すると、プロジェクト直下に.venv等名称でディレクトリが生成される
poetry config virtualenvs.in-project true
poetry install --no-root
なお、上記を行う前に仮想環境をすでに作ってしまっていた場合、先に削除しておく必要がある
仮想環境の一覧を表示して、removeコマンドで対象の仮想環境を削除する
poetry env list
poetry env remove poetry-xx-py
ライブラリの追加
poetry add library_name
poetry add mypy -D // dev-dependenciesの場合
ライブラリのアップデート
poetry update
ライブラリの削除
poetry remove pandas
lockファイルの生成
poetry lock
まとめ
いかがでしたでしょうか。本記事では、仮想環境の生成・Pythonのパッケージ管理が可能なツールであるPoetryについて紹介しました。このPoetryの導入手順と使用方法について具体的な例を挙げながらわかりやすく説明していますので、是非参考にしてみてください。