現在取り組んでいるプロジェクトに Django アプリを含めたいと考えています。アプリは Github ( https://github.com/lmorchard/django-badger ) でホストされています。グッズを含むアプリのディレクトリと同様に、ルートにはいくつかのファイルがあります - README、LICENCE、TODO、setup.py。アプリをプロジェクトのルート ディレクトリに複製すると、アプリ フォルダーは正しい場所に作成されますが、それらのルート ファイルはプロジェクトのルートに作成されます。Github でアップストリーム コードを追跡しながらアプリを追加するにはどうすればよいですか?
3 に答える
両方がレポにある2つの独立したプロジェクトに取り組んでいて、そのうちの1つが他のプロジェクトをアプリとして使用していたという同様の問題がありました。
- virtualenv を作成し、両方のプロジェクトのすべての依存関係をインストールします。私は通常、各プロジェクト/レポに virtualenv を用意したいと考えていますが、この場合、両方のレポから Python を実行できる 1 つの環境が必要です。
両方のリポジトリを独立した場所に複製します。他のプロジェクト内で依存するアプリを複製しないでください。ファイル構造は次のようになります (Django 1.3 プロジェクト レイアウトを想定):
project/ manage.py project/ __init__.py settings.py ... ... app/ README ... app/ __init__.py models.py ...
そして最後のステップは、そこに含まれる app ディレクトリから
__init__.py
プロジェクト パスへのシンボリック リンク (または Windows のショートカット) を作成することです。$ ln -s /abs/path/to/app/app /abs/path/to/project/
これで、virtualenv を使用してプロジェクトを実行できます。
最終的な結果は、2 つの独立したリポジトリを持つことですが、プロジェクトの 1 つはコードを直接コピーせずに他のプロジェクトを使用しているため、2 つのリポジトリを維持できます。
Uは実行することによってそれをインストールすることができます
python setup.py
またはピップを介して
sudo pip install -e git+https://github.com/lmorchard/django-badger#egg=django-badger
を使用してgithubからリポジトリのクローンを作成しますgit://github.com/lmorchard/django-badger.git
。次に、ターミナルでクローンフォルダを開きます。コマンドを使用してアプリをインストールしますsudo python setup.py install
。これはうまくいくでしょう。アプリをプロジェクトに含めたい場合は、badger(または任意のもの)という名前のフォルダーを作成し、インストールしたアプリをdist-packagesから作成したフォルダーにコピーします。