

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
dist-infoとは何かを知ろう
こんにちは。ここでは dist-info について、初心者にもわかるように解説します。dist-info は Python のパッケージをインストールしたときに生まれる大切なフォルダです。
「dist-info」は「distribution information」の略で、パッケージの情報を集めた場所です。インストールした後、あなたのコンピュータの特定の場所に作られ、どのバージョンか、必要な依存関係は何か、 authors などの情報が入っています。
dist-infoの名前の意味
dist-info の名前は「配布物の情報」という意味で、パッケージがどういうものかを説明するファイルが集まっています。
中身と役割
dist-info ディレクトリの中にはいくつかのファイルがあり、それぞれ役割がちがいます。
| ファイル名 | 役割 |
|---|---|
| METADATA | パッケージの名前、バージョン、著者、ライセンスなどの基本情報が書かれています。 |
| RECORD | パッケージに含まれるファイルの一覧と検査用のハッシュが並んでいます。セキュリティ上も重要です。 |
| top_level.txt | パッケージ内のトップに置かれるPythonモジュールの名前を教えてくれます。 |
| WHEEL | この dist-info がどのように作られたかの情報が入っています。インストーラの情報のひとつです。 |
dist-infoはどこにできる?
Python のパッケージをインストールすると、サイトパッケージという場所に dist-info が作られます。たとえば site-packages 配下に現れます。
dist-info の使い方と注意点
普段は dist-info の中身を直接見ることはあまりありません。しかし、トラブルが起きたときや、パッケージの情報を確認したいときに役立ちます。
ポイント は次のとおりです。
・METADATA を見れば、どのバージョンか、どの依存関係が必要かを知ることができます。
・RECORD を使えば、どのファイルが実際にインストールされているかを確認できます。
・不意に dist-info を削除すると、パッケージの動作が壊れることがあります。安易に触らないことが大切です。
dist-info と似た言葉の違い
同じような名前に .egg-info というものがありますが、これはかつてのパッケージの仕組みで現代の Python では dist-info が主に使われます。
まとめ
dist-info は「インストール済みのパッケージに関する情報の箱」と考えると分かりやすいです。日常のプログラミングで直接使うことは少ないですが、トラブルシューティングやパッケージの理解には役立つ知識です。
用語解説
METADATA ファイルの内容を分かりやすく言うと「そのパッケージの履歴書」です。
・悪い点としては、ディレクトリを間違って触ると動作に影響を及ぼす場合があります。
dist-infoの関連サジェスト解説
- python dist-info とは
- python dist-info とは、Pythonのパッケージをインストールしたときにできる特別なフォルダのことです。site-packages の中に、requests や numpy などのディストリビューション名に version を付けた形で、例えば numpy-1.26.0.dist-info のようなフォルダが作られます。dist-info フォルダには METADATA、RECORD、WHEEL、INSTALLER、top_level.txt などのファイルが入っています。METADATA にはパッケージ名、バージョン、ライセンス、説明などの情報がまとまっており、Requires-Dist という依存関係の記述も含まれます。RECORD にはインストールされたファイルの一覧と、そのハッシュ値が記録され、pip が正しくアンインストールできるように役立ちます。WHEEL は wheel 形式で配布されたときの情報、INSTALLER はどのツールでインストールされたかを示します。top_level.txt にはパッケージから提供されるトップレベルのモジュール名が書かれることがあります。dist-info の役割は、インストールされたパッケージの「履歴と仕様」を管理することです。インポート時には通常 dist-info は直接使われませんが、pip や他のパッケージ管理ツールがバージョン管理や依存関係の解決、アンインストールを正しく行うために不可欠です。egg-info という古い形式もありましたが、現在は dist-info が主流です。dist-info は wheel 形式のパッケージをインストールしたときに特に多く見られ、仮想環境にも同様に現れます。dist-info ディレクトリを自分で削除すると、アンインストールがうまくいかなくなることがあるので、手動で削除する場合は注意が必要です。
dist-infoの同意語
- dist-info
- このキーワードそのもの。Pythonのパッケージ配布物において、メタデータを格納するディレクトリ名。METADATA や RECORD、WHEEL などのファイルを含みます。
- 配布メタデータディレクトリ
- Pythonパッケージのメタデータを格納するディレクトリ。パッケージ名・バージョン・依存関係などの情報をまとめて格納します。
- パッケージメタデータディレクトリ
- パッケージのメタデータを格納するディレクトリ。dist-infoと同義として使われる表現です。
- メタデータフォルダ
- パッケージのメタデータを保存するフォルダの意味。METADATA、WHEEL、RECORD などのファイルが含まれます。
- パッケージ情報ディレクトリ
- パッケージに関する基本情報を格納するディレクトリ。パッケージ名やバージョンなどの情報を含みます。
- 配布情報ディレクトリ
- 配布物(パッケージ)の情報を格納するディレクトリ。配布のメタデータ全体を指すことが多いです。
- メタデータファイル群ディレクトリ
- METADATA、RECORD、WHEEL など複数のメタデータファイルを格納するディレクトリのこと。
- WHEEL情報ディレクトリ
- dist-info 内にある WHEEL ファイルなど、パッケージの互換性情報を含むファイル群を指す表現です。
- ディストリビューションメタデータディレクトリ
- 英語名 distribution metadata directory の和訳表現。Pythonパッケージ配布のメタデータを格納する場所を指します。
- パッケージ配布情報ディレクトリ
- パッケージ配布の情報を格納するディレクトリの意味。dist-info と同義に使われることがあります。
- 配布物メタデータディレクトリ
- パッケージの配布情報を格納するディレクトリ。dist-info の別表現として使われることがあります。
dist-infoの対義語・反対語
- source-info
- ソースコードに関する情報を指す対義語。dist-info が配布用のメタデータであるのに対し、ソース側の情報を表す概念です。
- build-info
- ビルド時に関連する情報。配布時のメタデータ(dist-info)に対して、ビルド工程に関する情報を表します。
- local-info
- ローカル環境に依存する情報。配布物の情報(dist-info)とは別に、実行環境側の情報を示します。
- raw-metadata
- 未加工のメタデータ。dist-info のように整然と整理された配布用 metadata に対して、未加工・生データ的な情報を指します。
- binary-info
- バイナリ形式に関する情報。dist-info が配布用メタデータなら、実行可能ファイル(バイナリ)に関する情報を意味します。
- install-info
- インストール時の情報。dist-info が配布時情報であるのに対し、インストール過程の情報を表します。
- source-package-info
- ソースパッケージに関する情報。dist-info の対義として、ソースパッケージの情報を示します。
- dev-info
- 開発用情報。公開用の配布情報(dist-info)とは別に、開発作業に関する情報を指します。
- remote-info
- リモート/外部情報。ローカルの dist-info の対義として、外部・遠隔の情報を示します。
- internal-info
- 内部情報。外部へ公開される dist-info とは別に、内部状態・内部データの情報を指します。
dist-infoの共起語
- METADATA
- dist-info 内のメタデータを格納するファイルの集合の総称。Name や Version などの基本情報はここに記載されます。
- RECORD
- dist-info 内のファイル一覧とそのハッシュ・サイズを記録するファイル。パッケージの整合性を検証する際に使われます。
- WHEEL
- wheel パッケージのメタ情報を含むファイル。Wheel 形式で配布する際の情報源です。
- top_level.txt
- パッケージのトップレベルモジュール名を列挙するファイル。import の対象を特定するのに役立ちます。
- Metadata-Version
- METADATA の仕様バージョンを示すフィールド。形式のバージョン情報です。
- Name
- パッケージの正式名称を表すフィールド。dist-info の METADATA 内に格納されます。
- Version
- パッケージの公開バージョンを表すフィールド。
- Summary
- パッケージの要約説明を示すフィールド。短い説明文として使われます。
- Author
- 著者名を示すフィールド。
- Author-email
- 著者のメールアドレスを示すフィールド。
- Maintainer
- 保守担当者の名前を示すフィールド。
- Maintainer-email
- 保守担当者のメールアドレスを示すフィールド。
- License
- パッケージのライセンス情報を示すフィールド。
- Home-page
- パッケージの公式サイトやリポジトリのURLを示すフィールド。
- Keywords
- パッケージを検索しやすくするためのキーワードリスト。
- Requires-Dist
- このパッケージが依存している他のパッケージを列挙するフィールド。
- Requires-Python
- このパッケージが動作するために必要な Python バージョンを示すフィールド。
- Classifier
- パッケージのカテゴリや互換性を示す分類情報。
dist-infoの関連用語
- dist-info
- Python のパッケージをインストールしたときに site-packages 配下に作成されるメタデータディレクトリ。各パッケージごとに1つずつ存在します。
- METADATA
- ディストリビューションの基本情報を記したファイル。名称、バージョン、依存関係、ライセンス、作者などが含まれます。
- RECORD
- インストール済みファイルの一覧と、それぞれのハッシュ値とサイズを記録するファイル。改ざん検知に使われます。
- top_level.txt
- そのディストリビューションが提供するトップレベルのパッケージ名を列挙するファイル。import の際の名前解決に役立ちます。
- INSTALLER
- このディストリビューションをどのツールでインストールしたかを示すファイル。通常は 'pip' が記録されます。
- Requires-Dist
- METADATA 内に記載される依存パッケージの要件。依存関係を宣言します。
- Requires-Python
- このディストリビューションが要求する Python のバージョン要件。例: >=3.7
- Name
- ディストリビューションの正式名称(パッケージ名)。
- Version
- ディストリビューションのバージョン番号。
- Summary
- ディストリビューションの要約説明(短い説明文)。
- Author
- 著者名。
- Author-email
- 著者のメールアドレス。
- Maintainer
- メンテナー名。
- Maintainer-email
- メンテナーのメールアドレス。
- Home-page
- プロジェクトの公式ページURL。
- Project-URL
- プロジェクト関連の追加URL。複数ある場合があります。
- License
- ディストリビューションのライセンス情報。
- egg-info
- dist-info の前身となる setuptools 由来のメタデータディレクトリ(古い形式)。
- PKG-INFO
- egg-info 形式のメタデータファイル。歴史的にはこのファイルも含まれていました。
- pyproject.toml
- 現代のパッケージング設定ファイル。ビルド要件とビルドバックエンドを宣言します。
- sdist
- ソースディストリビューション。パッケージのソースを配布する形式で、dist-info の元となることが多いです。
- wheel
- Wheel 形式の配布ファイル。高速なインストールを可能にする標準形式で、ビルドや配布の前提となる情報を含みます。
- site-packages
- 実際にパッケージが格納されるディレクトリ。dist-info はこの中に格納されます。
- importlib.metadata
- Python 標準ライブラリの API。METADATA などのパッケージ情報をプログラムから取得できます。
- pkg_resources
- setuptools の API。パッケージのメタデータを取得・操作する機能。
- PEP 376
- dist-info の仕様を定義した Python Enhancement Proposal(パッケージメタデータの標準化)。
- PEP 427
- Wheel 形式の仕様を定義した提案。ビルド・配布の標準を規定。
- PEP 517
- ビルドバックエンドの仕様を定義。pyproject.toml で指定します。
- PEP 518
- pyproject.toml の仕様を定義。ビルド要件の宣言方法を提供します。
- pip
- Python のパッケージ管理ツール。dist-info の作成・更新にも関与します。



















