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

環境

  • macOS Monterey 12.6
  • Windows 11
  • Python 3.10.5
  • VSCode

Poetryとは

Poetryは、仮想環境の生成・Pythonのパッケージ管理が可能なツールです。また、pipenvより処理が早いです。

導入手順

基本的には、公式Docに従って進めれば OKです。

Introduction | Documentation | Poetry - Python dependency management and packaging made easy
Introduction Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will mana...

インストーラーをダウンロード

masayan
masayan

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

パスが通っているか以下で確認して完了。

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学習におすすめの書籍

独習Python/山田祥寛【3000円以上送料無料】
bookfan 1号店 楽天市場店
¥ 3,300(2023/01/31 18:22時点)
タイトルとURLをコピーしました