blog

ソフトウェア開発|FedoraでPythonプロジェクトを管理するためにPoetryを使うには?

Poetry は Python の依存関係管理とパッケージ化を簡単にするツールです。この記事では、Poetry を使って Fedora 上で Python プロジェクトを管理する方法を紹介します。...

Oct 20, 2025 · 5 min. read
シェア

Python 開発者は、プロジェクトの依存関係を分離するために新しい仮想環境を作成し、pip や pipenv などのツールでそれらを管理することがよくあります。この記事では、Poetry を使って Fedora 上で Python プロジェクトを管理する方法を紹介します。

他のツールとは異なり、Poetry は依存関係の管理、パッケージング、配布に 1 つの設定ファイルのみを使用します。このため、Pipfile、MANIFEST.in、setup.py などの異なるファイルは必要ありません。また、複数のツールを使うよりも高速です。

以下は、Poetryを使い始めるためのコマンドの詳細です。

FedoraへのPoetryのインストール

すでに Fedora 32 以上をお使いの場合は、このコマンドを使ってコマンドラインから直接 Poetry をインストールできます:

  1. $ sudo dnf install poetry

編集者注:Python 3.9.2 がコアコミットの一部である Fedora Silverblue または CoreOs では、以下のコマンドで Poetry をインストールできます:

  1. rpm-ostree install poetry

プロジェクトの初期化

新規プロジェクトを作成するには、newコマンドを使用します:

  1. $ poetry new poetry-project

ポエトリーで作成されたプロジェクトの構造は次のようになります:

  1. _project
  2. │ └── init.py
  3. プロジェクト.toml
  4. README.rst
  5. テスト
  6. init.py
  7. テスト_poetry_project.py

Poetryは pyproject.toml プロジェクトの依存関係を管理します。最初はこのようなファイルになっています:

  1. [tool.poetry]
  2. name = "poetry-project"
  3. version = "0.1.0"
  4. description = ""
  5. authors = .Kadermiyanyedi\x20<kadermiyanyedi@hotmail.com>;
  6. [tool.poetry.dependencies]
  7. python = "^3.9"
  8. [tool.poetry.dev-dependencies]
  9. pytest = "^5.2"
  10. [build-system]
  11. requires = ["poetry>=0.12"]
  12. build-backend = "poetry.masonry.api"

このファイルには4つのセクションがあります:

  • 最初のセクションには、プロジェクト名やプロジェクトのバージョンなど、プロジェクトを説明する情報が含まれています。
  • 2番目の部分には、プロジェクトの依存関係が含まれています。これらの依存関係はプロジェクトをビルドするために必要です。
  • 3番目のセクションには、開発依存関係が含まれています。
  • パートIVでは、 PEP 715 準拠したビルドシステムについて説明します。

すでにプロジェクトを持っているか、独自のプロジェクトフォルダを作成しており、Poetryを使用したい場合は、プロジェクトでinitコマンドを実行してください。

  1. $ poetry init

このコマンドを実行すると、プロジェクトを設定するための対話型シェルが表示されます。

仮想環境の構築

仮想環境を作成する場合、または既存の仮想環境をアクティブにする場合は、次のコマンドを使用します:

  1. $ poetry shell

Poetryはデフォルトで /home/username/.cache/pypoetry プロジェクトに仮想環境を作成します。デフォルトのパスはPoetryの設定を編集することで変更できます。設定のリストを表示するには次のコマンドを使います:

  1. $ poetry config --list
  2. cache-dir = "/home/username/.cache/pypoetry"
  3. virtualenvs.create = true
  4. virtualenvs.in-project = true
  5. virtualenvs.path = "{cache-dir}/virtualenvs"

設定変数 virtualenvs.in-project 変更して、プロジェクト・ディレクトリに仮想環境を作成します:

  1. $ poetry config virtualenv.in-project true

依存関係の追加

プロジェクトの依存関係をインストールするには、 poetry add コマンドを使用します:

  1. $ poetry add django

addコマンドに--devオプションを付けると、開発環境でのみ使用される依存関係を特定できます:

  1. $ poetry add black --dev

addコマンドはパッケージのバージョンを追跡するためにp poetry.lockファイルを作成します。poetry.lock ファイルが存在しない場合、pyproject.toml にあるすべての依存関係の最新バージョンがインストールされます。poetry.lock が存在する場合、Poetry はプロジェクトを使用するすべての人が同じバージョンのパッケージを持っていることを保証するために、ファイルにリストされている正確なバージョンを使用します。

poetry install 使用して、現在のプロジェクトにあるすべての依存関係をインストールします:

  1. $ poetry install

--no-dev 使用して、開発依存のインストールを防止します:

  1. $ poetry install --no-dev

パッケージ一覧

show コマンドは利用可能なパッケージをすべて一覧表示します。treeオプションを指定すると、ツリー内のパッケージが一覧表示されます:

  1. $ poetry show --tree
  2. django 3.1.7 A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
  3. アスギレフ>=3.2.10,<4
  4. ピッツ*
  5. └──sqlparse>=0.2.2

特定のパッケージの詳細を一覧表示するには、パッケージ名を含めます:

  1. $ poetry show requests
  2. name : requests
  3. version : 2.25.1
  4. description : Python HTTP for Humans.
  5. dependencies
  6. - certifi >=
  7. - chardet >=3.0.2,<5
  8. - idna >=2.5,<3
  9. - urllib3 >=1.21.1,<1.27

最後に、パッケージの最新バージョンを知りたい場合は、 --latest オプションを使います:

  1. $ poetry show --latest
  2. idna 2. Internationalized Domain Names in Applications
  3. asgiref 3.3.1 3.3.1 ASGI specs, helper code, and adapters

詳細情報

ポエトリーの詳細はご覧ください。

経由:

Read next