プロジェクト概要¶
Page Status: | Complete |
---|---|
Last Reviewed: | 2016-06-24 |
Python インストールおよびパッケージングに関する最も重要なプロジェクト群の概要とリンクを示す。
PyPA 内のプロジェクト¶
bandersnatch¶
Mailing list [2] | Issues | Bitbucket | PyPI
bandersnatch は PyPI ミラーリングクライアントだ。PyPI コンテンツを完全かつ効率的にミラーリングするよう設計されている。
distlib¶
Docs | Mailing list [2] | Issues | Bitbucket | PyPI
distlib は Python ソフトウェアのパッケージングと配布に関する低レベル機能を実装するライブラリだ。これは distutils2 プロジェクトの一部からなる。distutils2 は Python 3.3 標準ライブラリで packaging
としてリリースされる予定だったが、Python 3.3 がベータテストに入る直前に削除された。
packaging¶
Dev list | Issues | Github | PyPI | User irc:#pypa | Dev irc:#pypa-dev
pip と setuptools が利用する Python パッケージング用のコアユーティリティ。
pip¶
Docs | User list [1] | Dev list | Issues | Github | PyPI | User irc:#pypa | Dev irc:#pypa-dev
Python パッケージをインストールするツール。
Python Packaging User Guide¶
Docs | Mailing list | Issues | Github | User irc:#pypa | Dev irc:#pypa-dev
このガイド!
setuptools¶
Docs | User list [2] | Dev list | Issues | GitHub | PyPI | User irc:#pypa | Dev irc:#pypa-dev
setuptools (easy_install
を含む)は Python distutils の強化版で、
Python distributions, 特に他のパッケージに依存するものをより簡単にビルド/配布できるようにする。
distribute は setuptools の fork だったが、v0.7 で setuptools に再度マージされた。これにより、setuptools が Python パッケージングの第一の選択肢となった。
twine¶
Mailing list [2] | Issues | Github | PyPI
Twine は PyPI とやりとりするユーティリティで、 setup.py upload
の安全な代替となる。
virtualenv¶
Docs | User list | Dev list | Issues | Github | PyPI | User irc:#pypa | Dev irc:#pypa-dev
隔離された Python 環境を作るツール。
Warehouse¶
Docs | Mailing list [2] | Issues | Github | Dev irc:#pypa-dev
新しい未リリースの PyPI アプリケーション。 https://warehouse.python.org/ でプレビューできる。
wheel¶
Docs | Mailing list [2] | Issues | Bitbucket | PyPI | User irc:#pypa | Dev irc:#pypa-dev
主に、wheel プロジェクトは wheel distributions を作るための setuptools bdist_wheel
拡張を提供する。加えて、wheel
の作成とインストールを行う独自のコマンドラインユーティリティも提供する。
PyPA 外のプロジェクト¶
bento¶
Docs | Mailing list | Issues | Github | PyPI
Bento は Python ソフトウェアのためのパッケージングソリューションで、 distutils, setuptools, distribute などの代替を目指している。Bento の哲学は再現性、拡張性、簡潔さだ(この順で)。
buildout¶
Docs | Mailing list [2] | Issues | PyPI | irc:#buildout
buildout は Python ベースのビルドシステムで、複数のパーツ(非 Python ベースでもよい)からアプリケーションを作成、アセンブル、デプロイできる。buildout 構成を作り、後で同じソフトウェアを再現できるようにする。
conda¶
Conda は Anaconda Python 環境用のパッケージ管理ツールだ。Anaconda Python は Continuum Analytics によるディストリビューションで、科学コミュニティ(特にバイナリ拡張のインストールが難しくなりがちな Windows環境)向けに特化している。
Conda は pip, virtualenv, wheel とは完全に別のツールだが、これらを組み合わせたような機能(パッケージ管理、仮想環境管理、バイナリ拡張のデプロイ)を提供する。
Conda はパッケージを PyPI からインストールせず、Continuum 公式リポジトリ, anaconda.org (ユーザが作成した conda パッケージの置き場), またはローカル(例:イントラネット)パッケージサーバからのみインストールを行う。ただし、pip をインストールすることもでき、pip は conda とは独立して PyPI 由来の distributions を管理する。
devpi¶
Docs | Mailing List | Issues | PyPI
devpi には強力な PyPI 互換サーバと PyPI プロキシキャッシュがあり、 Python でパッケージング、テスト、リリース活動を行うためのコマンドラインツールが付属する。
Hashdist¶
Hashdist は non-root ソフトウェアディストリビューションを構築するライブラリだ。Hashdist は「Debian の技術がうまくいかない場合に選ぶ Debian」であろうとしている。Pythonista にとっての Hashdist のベストな見方は、virtualenv と buildout のより強力なハイブリッドかもしれない。
pex¶
pex は .pex
(Python EXecutable) を生成するライブラリおよびツールであり、同時に virtualenv の精神に基づくスタンドアロン Python 環境でもある。 .pex
ファイルは単なる zip ファイルで、
#!/usr/bin/env python
および特別な __main__.py
を持ち、Python
アプリケーションのデプロイが cp
と同じくらいシンプルにできるよう注意深く構築されている。
Spack¶
Docs | Github | Paper | Slides
柔軟なパッケージマネージャで、複数のバージョン、構成、プラットフォーム、コンパイラをサポートするよう設計されている。Spack は homebrew に似ているが、パッケージは Python で書かれており、またパラメータ化によってコンパイラ、ライブラリのバージョン、ビルドオプションなどを容易に交換できるようになっている。パッケージのバージョンがどれだけ多くても、それら全てが同じシステム上で共存できる。Spack はクラスタやスーパーコンピュータ上で高パフォーマンス科学アプリケーションを迅速に構築するために設計された。
Spack は PyPI には(まだ)入っていないが、インストールは不要で、github からクローンしてすぐ使える。
標準ライブラリプロジェクト¶
ensurepip¶
既存の Python 環境または仮想環境で pip のブートストラッピングをサポートする Python 標準ライブラリパッケージ。ほとんどの場合、エンドユーザがこのモジュールを使うことはなく、Python ディストリビューションのビルド中に使われる。
distutils¶
Docs | User list [2] | Issues | User irc:#pypa | Dev irc:#pypa-dev
distributions の作成とインストールをサポートする Python 標準ライブラリパッケージ。setuptools が distutils より強力な機能を提供しているので、distutils を単独で使うよりはそちらを使う方がはるかに一般的だ。