大規模なアプリケーションを編成する 1 つの方法 (唯一の方法ではありません) は、 と を組み合わせて使用することvirtualenv
ですbuildout
。
virtualenv
分離された Python 環境を作成できます。大規模な Python アプリケーションは多数のパッケージに依存するため、これは重要です (自分で作成したものもあれば、別の場所からインストールしたものもあります)。システムの python にバージョン 3.2.1 が既にインストールされている場合、アプリケーションでパッケージのバージョン 1.2.3 を要求したくないため、実行中の他のアプリケーションからアプリケーションを分離する必要があります。
buildout
アプリケーションのすべての依存関係を定義し、繰り返しゼロからビルドできるため便利です。
を使用したプロジェクトのディレクトリ構造はbuildout
次のようになります。
project/
bootstrap.py
buildout.cfg
.installed.cfg
parts/
develop-eggs/
bin/
buildout
mypython
eggs/
downloads/
このbootstrap.py
ファイルはビルドアウトの標準でありbin
、ローカルの python とコマンドを含むフォルダーを作成しますbuildout
。bin\buildout
次に、buildout.cfg
(実際に作成する必要がある唯一のファイル)を使用して、アプリケーションが必要とする他のすべてをダウンロードしてインストールします。.installed.cfg
は実行されたコマンドの記録を保持するため、buildout.cfg
を更新して再実行するbin/buildout
と、不要になったものをアンインストールして新しいものをインストールできます。
Plone や Django などの大規模な Python プロジェクトでは、 を使用しています。これについて説明している優れたブログ投稿については、http://jacobian.org/writing/django-apps-with-buildout/buildout
を参照してください。