1

Dotcloud を使用して Django アプリをデプロイしています。ローカルで開発している間、いくつかの依存関係 (私の virtualenv にある) のコード内で変更を加える必要がありました。

私の質問は、dotcloud にデプロイしているときに、依存関係 (django-registration や django_socketio など) に同じ変更を加える方法はありますか?

ご協力ありがとうございました。

4

2 に答える 2

1

を使用している場合requirements.txt、いいえ、pypi からそれを行う方法はありません。Dotcloud は指定したパッケージを pypi からダウンロードするだけであり、virtualenv 内の変更は正規バージョンに反映されないことは明らかです。パッケージの。

依存関係の編集されたバージョンを使用するには、作成した他のモジュールと同じようにコードにバンドルし、importそこからそれらをバンドルする必要があります。

于 2012-11-27T22:57:35.303 に答える
1

多くの方法がありますが、すべてがクリーン/簡単/可能というわけではありません。

これらの依存関係が github、bitbucket、または同様のコード リポジトリにある場合は、次のことができます。

  • 依存関係をフォークし、
  • フォークを編集し、
  • ファイルのフォークを指しrequirements.txtます。

これにより、これらの依存関係に対するさらなる変更を追跡し、独自の変更を将来のバージョンと簡単にマージできます。

それ以外の場合は、(変更された) 依存関係をコードに含めることができます。あまりきれいではなく、アプリのサイズが大きくなりますが、それでも問題ありません。

最後になりましたが、非常にハックなpostinstallスクリプトを作成して、変更する .py ファイル (例: import foo ; foopath = foo.__file__) を見つけ、そのファイルにパッチを適用することができます。これはおそらくほとんどのシステム管理者を恐怖に陥れる原因となるでしょうが、言及する価値はあります:-)

于 2012-11-27T23:00:02.730 に答える