Railsプロジェクトについて私が気に入っていることの1つは、リモートサーバーにデプロイするときに、すべてが正しく設定されていれば、次のことができることです。
$: bundle install
そして、システムはプロジェクトの実行に必要なさまざまな依存関係(ruby gem)をインストールします。
Python / Djangoに似たものはありますか?
要件を凍結できます。これにより、プロジェクトに必要なすべてのPythonモジュールのリストが生成されます。bundle
コンセプトは似ていると思います。
例えば:
virtualenv --no-site-packages myproject_env # create a blank Python virtual environment
source myproject_env/bin/activate # activate it
(myproject_env)$ pip install django # install django into the virtual environment
(myproject_env)$ pip install other_package # etc.
...
(myproject_env)$ pip freeze > requirements.txt
最後の行は、カスタム環境にインストールされたすべてのパッケージのテキストファイルを生成します。そのファイルを使用して、他のサーバーに同じ要件をインストールできます。
pip install -r requirements.txt
もちろんpip
、を使用する必要はありません。要件ファイルを手動で作成できます。特別な構文要件はありません。各行のパッケージと(場合によっては)バージョン識別子だけです。これは、いくつかの追加パッケージを含む典型的なdjangoプロジェクトのサンプルです。
Django==1.4
South==0.7.4
Werkzeug==0.8.3
amqplib==1.0.2
anyjson==0.3.1
celery==2.5.1
django-celery==2.5.1
django-debug-toolbar==0.9.4
django-extensions==0.8
django-guardian==1.0.4
django-picklefield==0.2.0
kombu==2.1.4
psycopg2==2.4.5
python-dateutil==2.1
six==1.1.0
wsgiref==0.1.2
xlwt==0.7.3