5

配布したいWebアプリケーションで友人と協力しており、Djangoで働いています。

潜在的なユーザーにとって、展開が可能な限り簡単であることを確認したいと思います。Djangoは共有インストールされたライブラリをたくさん使用しているようです。WordPressなどのように、最新バージョンをダウンロードし、解凍し、構成ファイルを1つか2つ編集して、開始するだけでよいのです。

私は、gemとプラグインをベンダーディレクトリにピストンするRuby on Railsスタイルのデプロイメントに慣れており、それだけに頼る必要があります。

すべての依存関係がバンドルされたアプリケーションをデプロイするための類似のdjangoの方法は何ですか?インストール後に依存関係をプルダウンするためにeasy_installのようなものを使用する必要はありません。

このPythonStackOverflow Answerは正しい方向に進んでいるようですが、django固有の方法はありますか?これは解決された問題ですか?

4

2 に答える 2

13

ここでの最善の策は、pipを利用することです。pip は、python パッケージをインストールするためのユーティリティです。プロジェクトの依存関係をリストする要件ファイルを作成できます。pip は非常に一般的で、Django コミュニティで広く使用されています。使用することを強くお勧めします。

T. Stone がPinaxに言及したように、Django ベースのプロジェクトには多くの依存関係があり、それらは pip 要件ファイルをうまく利用しています。

于 2009-11-04T02:48:38.347 に答える
1

これは、Django の「再利用可能なアプリ」の大きな制限の 1 つです。1 週間か 2 週間前の "This Week in Django" ポッドキャストで、彼らはまさにこの問題について話していまし。コンセンサスのようで、私も同意しますが、実際には解決策がないということです。

おそらく最大の分散 Django プロジェクトである Pynax を見ると、システム全体にアプリをバンドルしていることがわかります。

Python 自体にはいくつかのパッケージ ディストリビューションがあります。私は ActiveState が別のものを起動しようとしていることを知っています。それでも、すべての django アプリがパッケージ化されているわけではありません。多くは、bitbucket、github、または google ソースでのみ見つかります。それでも、これらすべてのコピーを取得するには、mercurial、git、および svn がインストールされている必要があります。(何とか@それ)

ここには基本的に 2 つのオプションがあります。

  1. ソースにすべての依存関係のコピーを含める
  2. ユーザーが特定の依存関係をインストールする方法に関するドキュメントを含める

それは悲しいリストです、私は知っています。 特にルビー宝石システムを使用した後は、実際には最悪ですが、現時点では、何が良いのかわかりません。

興味があれば、プロジェクトのフォルダー (または SVN) に依存関係を保持し、そのパスを django の開始時に Python の検索パスに追加することについて、短いブログ投稿を書きました。( SVN を介した Django 依存関係の管理) Komodo Edit のインテリセンスを台無しにしますが、それ以外の場合は作業が容易になります。

于 2009-11-04T02:37:20.717 に答える