11

Railsプロジェクトについて私が気に入っていることの1つは、リモートサーバーにデプロイするときに、すべてが正しく設定されていれば、次のことができることです。

$: bundle install

そして、システムはプロジェクトの実行に必要なさまざまな依存関係(ruby gem)をインストールします。

Python / Djangoに似たものはありますか?

4

2 に答える 2

13

要件を凍結できます。これにより、プロジェクトに必要なすべての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
于 2012-08-22T08:51:56.260 に答える
4

最も近いのは、おそらくvirtualenvpip、および要件ファイルです。これらの3つの要素を使用すると、簡単なブートストラップスクリプトを簡単に作成できます。

より要求が厳しく複雑なのはビルドアウトです。しかし、virtualenvとpipが十分でない場合にのみ、私はそれを選びます。

そして、このアプローチをファブリックとオプションの料理で拡張すると、プロジェクトの展開はすでに自動化されています。詳細については、次のリンクを確認してください。

于 2012-08-22T08:48:59.037 に答える