ビルド中の卵に実際に依存するいくつかのパッケージをインポートしようとしています。これらの卵はチーズストアではありませんので、私は私のsetup.py
スクリプトで私nstall_requires = ['pack1', 'pack2']
を使用することはできないですので、私は私のビルドアウト設定へ次のようにそれらを追加しようとしています:buildout MercurialRecipeが複数のインポートを破る
1 [buildout]
2 develop = .
3 parts =
4 python
5 pack1
6 pack2
7
8 extra_paths = ${pack1:location}/src/
9 ${pack2:location}/src/
10
11 [python]
12 recipe = zc.recipe.egg
13 eggs = myegg
14 extra-paths =
15 ${buildout:extra_paths}
16
17 interpreter = python
18
19 [pack1]
20 recipe = mercurialrecipe
21 repository = https://repo.xxx.com/hg/pack1/
22
23 [pack2]
24 recipe = mercurialrecipe
25 repository = https://repo.xxx.com/hg/pack2/
私がやっているかもしれないがこれは間違った方法です - 私はビルドアウトから始まっています。私は私のビン/ビルドアウトを実行すると、私は次のエラーを取得:
Updating python.
Updating pack1.
pack1: Pulling repository https://repo.xxx.com/hg/pack1/ and updating /home/martin/proj1/parts/pack1
pulling from https://repo.xxx.com/hg/pack1/
searching for changes
no changes found
Installing pack2.
pack2: Cloning repository https://repo.xxx.com/hg/pack2/ to /home/martin/proj1/parts/pack2
While:
Installing pack2.
An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
File "/home/martin/proj1/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/buildout.py", line 1805, in main
getattr(buildout, command)(args)
File "/home/martin/proj1/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/buildout.py", line 584, in install
installed_files = self[part]._call(recipe.install)
File "/home/martin/proj1/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/buildout.py", line 1297, in _call
return f()
File "build/bdist.linux-x86_64/egg/mercurialrecipe/__init__.py", line 50, in install
commands.clone(ui.ui(), get_repository(self.source), self.destination)
File "build/bdist.linux-x86_64/egg/mercurialrecipe/__init__.py", line 18, in get_repository
return hg.repository(ui.ui(), location)
File "/usr/lib/python2.6/site-packages/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hg.py", line 96, in repository
repo = _lookup(path).instance(ui, path, create)
File "/usr/lib/python2.6/site-packages/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/httprepo.py", line 203, in instance
return statichttprepo.instance(ui, "static-" + path, create)
File "/usr/lib/python2.6/site-packages/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/statichttprepo.py", line 146, in instance
return statichttprepository(ui, path[7:])
私はPACK1とPACK2を切り替える場合は、PACK2がインストールされます。基本的に両者は正常に動作しますが、両方をフェッチするとすぐにすべてが破損します。
ありがとうございます。 Martin
ありがとうMartjin。私は開発者に切り替えました。それは魅力のように機能します。あなたはsetup.pyの依存関係としてpack1をリストする方法を説明してもらえますか?私は、チーズショップにある卵についてはsetup.pyに依存関係をリストアップすることができましたが、他の場所にある卵には依存しません。ありがとうございましたagain Martjin – Martin
pack1がeggの場合、名前が定義されているsetup.pyがあります。通常、これは通常setup.pyが置かれているディレクトリ名と同じですが、それは与えられていません。 'name =" somename "'を探してください。これは卵の名前です。PyPiに格納されている卵のように使用します(通常、最近はcheeseshopと呼ばれていません)。 –