Masayan tech blog.

  1. ブログ記事一覧>
  2. PoetryでPythonのパッケージ管理を始める方法

PoetryでPythonのパッケージ管理を始める方法

公開日

環境

  • 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の導入手順と使用方法について具体的な例を挙げながらわかりやすく説明していますので、是非参考にしてみてください。