0

私は自分のdjangoアプリを管理する方法に非常に迷っています。ほとんどのプロジェクトでは、標準バージョンのアプリを使用していますが、今ではプロジェクトをフォークして同時に作業しています。一部のプロジェクトでフォークバージョンを使用し、他のプロジェクトでstdバージョンを使用するにはどうすればよいですか?例えば:

私はすべてのdjangoプロジェクトを次のDJANGOPROJECTSような構造で呼び出されたディレクトリに持っています:

DJANGO PROJECTS
-PROJECT A
-PROJECT B
-APP A (forked version)
-APP B (forked version)

SITEPACKAGES (on default python path)
-APP A 
-APP B

PROJECTAでFORKEDAPPA(フォークバージョン)を使用し、PROJECTBでAPPAを使用したい。PROJECTBが自分で処理します。プロジェクトAをフォークアプリAに使用するにはどうすればよいですか?

各プロジェクトのvirualenvにAPPA(フォークバージョン)を配置すると、変更が発生するたびにすべてを更新する必要があります。これをvirtualenvから除外すると、フォークされたアプリにローカルで変更を加えると(git pushを実行せずに)、それを使用するすべてのプロジェクトが即座に変更を取得します。

4

2 に答える 2

1

共有バージョンを使用したいときはいつでも、仮想環境のアプリへのシンボリックリンクを使用してこの問題を解決します。

于 2013-03-19T23:51:53.490 に答える
0

私はもっ​​と良い方法を見つけました。シンボリックリンクを設定するのはちょっと面倒です!virtualenvには、これを行うための組み込みメソッドがあります。

その環境で使用するパッケージへのパスを次の場所で変更します。

yourEnv/Lib/site-packages/packagename.egg.link file. 

イージーインストールを使用している場合は、次のパッケージパスを変更します。

yourEnv/Lib/site-packages/easy-install.pth

例えば:

PROJECT-AでgithubディレクトリにあるAPP-Aというアプリを使用する場合。上記のファイルを見つけて、次の場所からパスを変更します。

c:\users\someuser\documents\github\PROJECT-A\src\APP-A

に:

c:\users\someuser\documents\github\APP-A

これで、PROJECT-Aは、virtualenvにあるバージョンではなく、作業リポジトリにあるバージョンのAPP-Aを使用します。これで、APP-Aリポジトリを操作できるようになり、変更をプッシュまたはプルすることなく、変更がPROJECT-Aと自動的に統合されます。

于 2013-05-06T19:25:30.627 に答える