7

Buildoutを使用して、 Distributeベースのプロジェクトとその依存関係を分離された環境にインストールしたいと思います。私のプロジェクトはソースツリー(ローカルGitリポジトリ)から直接インストールする必要があり、PyPIに登録されていません。どうすればこれを達成できますか?

編集:

M. Pietersのおかげで、私は何をすべきかを議論することができました。参考のために投稿してbuildout.cfgいます:

[buildout]
develop = .
parts = fbt

[fbt]
recipe = z3c.recipe.scripts
eggs = BuildTools

今は必要ありませんでしたが、mr.developerの知識が将来役立つことは間違いありません。

4

2 に答える 2

12

ビルドアウト構成をどこに置くか、および git リポジトリをチェックアウトするために必要なオプションに応じて、3 つのオプションがあります。

Python に関する限り、結果の卵はまったく同じであることに注意してください。開発エッグと「通常の」エッグの唯一の違いは、開発エッグはそのエッグの他の場所で設定されたバージョン要件を上書きすることです。卵の他のバージョンが他の場所で見つかっても、それは使用されます。

開発リポジトリ内

developオプションを使用するだけです。これにより、通常の卵とまったく同じですが、バージョンチェックがなく、それ以上でもそれ以下でもない開発卵が作成されます。

ビルドアウトは、現在のディレクトリ (setup.py が存在する場所) を開発卵としてリストするだけです。

[buildout]
develop = .

別の場所で

新しいチェックアウトを作成するには、git リポジトリにアクセスできる必要があります。mr.developerを使用して git リポジトリを取り込み、自動的に開発卵としてマークします。

[buildout]
extensions = mr.developer
auto-checkout = package.name

[sources]
package.name = git url/to/package.name.git

このセットアップでは、mr.developer は自動的に git リポジトリをsrc/サブディレクトリにチェックアウトし、それを buildoutdevelopオプションに追加します。

tarball ダウンロードの使用

github.com などの場所では、リポジトリの現在のコンテンツを含む tarball をダウンロードするオプションも提供されています。find-linksそれを使用して、オプションを使用してその tarball を Egg ソースとしてロードできます。

[buildout]
find-links = http://github.com/yourname/package.name/tarball/version#egg=package.name-versionnumber
eggs = package.name

Buildout は、find-links他の場所で卵を見つけることができない場合、その特定のエントリを使用して卵を見つけます。

于 2011-04-18T16:26:07.690 に答える
3

zc.buildoutのdevelopディレクティブを使用するか、特定のリポジトリURLからパッケージを直接チェックアウトするように定義できるmr.developer buildout拡張機能を使用して、リポジトリからのチェックアウトでBuildoutを簡単に使用できます(git、svnおよびその他のバージョン管理をサポート)システム)。

見る

http://pypi.python.org/pypi/mr.developer

于 2011-04-18T14:10:37.087 に答える