用語集

Page Status:Complete
Last Reviewed:2015-09-08
Binary Distribution
Built Distribution のうち、コンパイル済み拡張を含むもの。
Built Distribution
Distribution 形式のうち、中身のファイルとメタデータをターゲットシステムの正しい場所へ移動するだけでインストールができるもの。Wheel はそのような形式だが、distutils の Source Distribution はそうではない。後者はインストール前にビルドステップを要するからだ。この形式は Python ファイルがプリコンパイルを要するというわけではない(Wheel は意図的にコンパイル済み Python ファイルを含めていない)。
Distribution Package

バージョン管理されたアーカイブファイルで、Python パッ ケージモジュール 、およびその他のリソースファイルを含む。Release の配布に使われる。エンドユーザがインターネットからダウンロードしてインストールするのはこのアーカイブファイルだ。

Distribution package は単に「パッケージ」とか “distribution” と呼ばれる方が一般的だが、このガイドでは明快さのためにこの長い用語を使うこともある。これは Import Package (これもよく「パッケージ」と呼ばれる)や、その他の類のディストリビューション(例えば、Linux ディストリビューションや Python 言語ディストリビューション。これらにしても単に「ディストリビューション」と呼ばれがち)との混同を避けるためだ。

Egg
setuptools が導入した Built Distribution 形式で、Wheel に取って代わられた。詳しくは、 The Internal Structure of Python Eggs および Python Eggs を見よ。
Extension Module
Python 実装における低レベル言語で書かれた モジュール: Python の場合 C/C++, Jython の場合 Java。通常、単一の動的ロード可能なコンパイル済みファイル内にある(例えば、Unix の Python拡張なら共有オブジェクト (.so) ファイル、Windows の Python 拡張なら DLL (拡張子 .pyd), Jython 拡張なら Java クラスファイル)。
Known Good Set (KGS)
互換性を持つようにバージョン指定された distribution のセット。通常、テストスイートが全てのテストを通ってはじめて特定のパッケージセットが known good set と宣言される。この用語は、複数の独立した distribution からなるフレームワークやツールキットでよく使われる。
Import Package

他のモジュール、または再帰的に他のパッケージを含む Python モジュール。

Import package は単に「パッケージ」と呼ばれる方が一般的だが、このガイドでは明快さのためにこの長い用語を使うことがある。これは Distribution Package (これもよく「パッケージ」と呼ばれる)との混同を避けるためだ。

Module
Python におけるコード再利用の基本単位。Pure Module, Extension Module のいずれか。
Package Index
Distributions のリポジトリで、パッケージ の発見と利用を自動化する Web インターフェースを備えている。
Project

ライブラリ、フレームワーク、スクリプト、プラグイン、アプリケーション、データやその他リソースのコレクション、またはそれらの組み合わせ。Distribution へパッケージされる。

ほとんどのプロジェクトは distutils または setuptools を使って Distributions を作るので、現在におけるプロジェクトの実際的な定義は、そのルートディレクトリに setup.py を含むものと言ってもよい。ここで “setup.py” は distutils, setuptools が使うプロジェクト仕様のファイル名だ。

Python プロジェクトの名前は一意でなければならず、この名前が PyPI に登録される。各プロジェクトは一つ以上の リリース を含み、各リリースは一つ以上の distribution を含む。

プロジェクト名はそれを動かす際にインポートされるパッケージ名と同じにするという強い規約がある。しかしこれは必ずしも真ではない。プロジェクト ‘foo’ から distribution をインストールしたとき、それがパッケージ ‘bar’ しか提供しない、ということも可能だ。

Pure Module
Python で書かれ、単一の .py ファイルに格納された モジュール (.pyc / .pyo ファイルに関連付けられているかもしれない)。
Python Packaging Authority (PyPA)
PyPA は Python パッケージングにおける重要プロジェクトの多くを管理する作業グループだ。https://www.pypa.io サイトの管理、 github, bitbucket 上でのプロジェクトのホスト、 pypa-dev メーリングリスト における議論を行っている。
Python Package Index (PyPI)
PyPI は Python コミュニティのデフォルト Package Index だ。全ての Python 開発者が distributions を利用、配布できる。
Release

特定の時点における プロジェクト のスナップショット。バージョン識別子で示される。

あるリリースで複数の Distributions が公開されることもある。例えば、プロジェクトのバージョン 1.0 がリリースされたとき、source distribution 形式と Windows インストーラ distribution 形式が利用できるかもしれない。

Requirement
インストールする パッケージ の指定。PyPA 推奨インストーラである pip は様々な形の指定ができるが、それらは全て “requirement” とみなせる。詳しくは、pip install リファレンスを見よ。
Requirement Specifier
Package Index からパッケージをインストールする際、 pip に渡す指定の形式。EBNF 図は setuptools ドキュメントの pkg_resources.Requirement エントリを見よ。例えば、”foo>=1.3” は requirement specifier であり、ここで “foo” はプロジェクト名、”>=1.3” は Version Specifier である。
Requirements File
pip を使ってインストールできる Requirements のリストを含むファイル。詳しくは、pip ドキュメントの Requirements Files を見よ。
setup.py
distutilssetuptools のためのプロジェクト仕様ファイル。
Source Archive
リリース の生のソースコードを含むアーカイブ。Source Distribution または Built Distribution を作る前段階。
Source Distribution (or “sdist”)
Distribution 形式の一つで、通常 python setup.py sdist で生成される。pip のようなツールでインストールを行ったり、Built Distribution を生成するのに必要なメタデータとソースファイルを含む。
System Package
オペレーティングシステムのネイティブ形式で提供されるパッケージ(例: rpm, dpkg ファイル)。
Version Specifier
Requirement Specifier のバージョン部分。例えば、 “foo>=1.3” の “>=1.3” の部分。PEP 440 には、Python パッケージングが現在サポートする specifiers の 完全な仕様 がある。PEP 440 のサポートは setuptools v8.0 および pip v6.0 で実装された。
Virtual Environment
隔離された Python 環境。この中ではパッケージを特定アプリケーション専用にインストールでき、システムワイドにはインストールされない。詳しくは、仮想環境の作成 セクションを見よ。
Wheel
PEP 427 で導入された Built Distribution 形式で、 Egg 形式の置き換えを意図している。pip は現在 wheel をサポートしている。
Working Set
インポートできる distributions の集合。これらは変数 sys.path 上にある distributions だ。ある working set では、1 プロジェクトに対応する distribution は高々 1 つだ。