zc.buildoutを使用してSConsをeggとしてインストールする簡単な方法はありますか?私の最初の考えは、distutilsを使用しているので、zc.recipe.eggを使用してインストールでき、SConsスクリプトが$ {buildout:directory}/binに移動するようにeggが設定されると考えていました。 SConsはPYTHONPATHに追加されます。
[buildout]
parts =
python
[python]
recipe = zc.recipe.egg
interpreter = mython
eggs =
SCons == 2.0.1
残念ながら、SConsのsetup.pyは、zc.recipe.eggでうまく機能するように書かれているとは思いません。私は最終的に:
- $ {buildout:directory} /eggs/scons-2.0.1-py2.6.egg/
- $ {buildout:directory} /eggs/scons-2.0.1-py2.6.egg/scons-2.0.1/
- $ {buildout:directory} /eggs/scons-2.0.1-py2.6.egg/scons-2.0.1/SCons/
- $ {buildout:directory} /eggs/scons-2.0.1-py2.6.egg/EGG-INFO/scripts/
これは、(2)がPYTHONPATHにあり、(4)の内容がbinディレクトリにコピーまたはリンクされている場合に機能します。
理想的には、これをeggとしてインストールして、グローバルなeggs-directoryを利用したいと思います。同じビルドツールのコピーをいくつか持ちたくありません。既存のレシピを使用してこの目標を達成することは可能ですか、それとも独自のレシピを作成する必要がありますか?
編集:sconsエントリポイントが作成されるように、個人用コピーを作成し、SConsのsetup.py引数を変更しました。私が行った唯一の変更:「cmdclass」を削除し、「entry_points」を追加します。
arguments = {
'name' : "scons",
...
'scripts' : scripts,
'entry_points' : {
'console_scripts':
['scons = SCons.Script:main']
}
}
このような作品。それは私にbin/sconsのsconsスクリプトを与えますが、sconsign、scons-time、またはscons.batは与えません。/ var / www / eggsのtarに入れて、Apacheで提供します。
[buildout]
parts =
python
[python]
recipe = zc.recipe.egg:scripts
interpreter = mython
eggs =
scons == 2.0.1
find-links =
http://localhost/eggs/
この方向に進みたいかどうかわかりません。