リモートサーバーに簡単にデプロイし、開発を友人と共有できるようにするために、ビットバケットリポジトリに保持するテストdjangoサイトのコーディングを開発しています。バージョン管理には hg を使用しています。
このサイトはサードパーティのアプリ (django-registration) に依存しており、自分のサイト用にカスタマイズする必要があったため、元のアプリをフォークして、そのための 2 つ目のリポジトリを作成しました (このようにして、コードをメインサイトに貼り付けて、独自のカスタムコードに追加した場合は不可能です) (この質問の詳細を確認できます)
私の質問は、setup.py ファイルに要件を指定して、django サイトをインストールするときに、サード パーティ アプリ用のフォークの最新バージョンを取得する方法です (違いが生じる場合に備えて、setuptools ではなく、distribute を使用します)。 ?
私はこれを試しました:
install_requires = ['django', 'django-registration'],
dependency_links = ['https://myuser@bitbucket.org/myuser/django-registration#egg=django_registration']
しかし、これにより、元のトランクの最新の名前付きバージョンが取得されます(したがって、ヒントバージョンでさえありません)
ただし、pip 要件ファイルを使用するとうまく機能します。
hg+https://myuser@bitbucket.org/myuser/django-registration#egg=django-registration
フォークから最新バージョンを取得します。
最初にサイトのコードをインストールしてから pip install -r requirements.txt を実行することなく、setup.py ファイルから直接同じ動作を取得する方法はありますか?
この質問は非常に有益ですが、機能しないバージョン「dev」またはサードパーティのパッケージに依存する必要があることを示唆しているようです(そのためにはdevとしてタグ付けされた特定のバージョンが必要になると思います)
また、私はパッケージ化/配布/セットアップツールの完全な初心者なので、手順を詳しく説明することをためらわないでください:)
おそらく、サードパーティ アプリのフォークにある setup.py ファイルを変更し、バージョン番号が記載されていることを確認する必要があります。一般的に、コードを単にパブリック リポジトリに置くのではなく、ソース ディストリビューションとは何か、私の場合はバイナリ ディストリビューション (egg ファイル?) とは何か、それがより実用的かどうかを知りたいと思っています。リモートで展開するときは私/友人に自分のPCに展開してもらいます。また、setup.py が参照できるようにリポジトリのバージョンにタグを付ける方法を知りたいのですが、それは単にバージョン管理タグ (私の場合は hg) ですか?. スターター パッケージャーにとって重要と思われる詳細については、お気軽にコメントしてください :)
ありがとう!