2

リモートサーバーに簡単にデプロイし、開発を友人と共有できるようにするために、ビットバケットリポジトリに保持するテスト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) ですか?. スターター パッケージャーにとって重要と思われる詳細については、お気軽にコメントしてください :)

ありがとう!

4

1 に答える 1

0

これを置く:

dependency_links=['https://bitbucket.org/abraneo/django-registration/get/tip.tar.gz#egg=django-registration']

dependency_links では、そのようなダウンロード URL を渡す必要があります。

「abraneo」もこのプロジェクトをフォークした人物です。彼の名前をあなたの名前に置き換えてください。

于 2012-04-25T16:35:11.303 に答える