2012-02-25 8 views
1

具体的には、私が実行している状況です:zc.buildoutでは、egg Aをインストールしてからegg Bをインストールして、正しくインストールするにはegg Aが必要ですか?

私はzymbuildoutを使ってpymssqlを必要とするアプリケーションをインストールしています。 Pymssqlは正しくインストールするためにCythonが必要です。しかし、私は、実行中の環境を変更できませんしたいと思いますので、私のような何かやりたい:

  1. 増築
  2. PymssqlをインストールにCython
  3. ロードCythonをインストールします。

私はBuildoutが既にこれを行ったと思っていましたが、setup.cfgをチェックして、必要に応じて明示的に指定されているものがすべてインストールされているかどうかを調べるようです。現在のビルドアウトは次のようになります。

[buildout] 
    parts = required-eggs 
    ... 

[required-eggs] 
    eggs = Cython 
     pymssql 

Cythonがうまくインストールされます。残念ながらpymssqlはしません:

return self.build_and_install(setup_script, setup_base) 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1101, in build_and_install 
self.run_setup(setup_script, setup_base, args) 
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1090, in run_setup 
run_setup(setup_script, args) 
    File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 29, in run_setup 
lambda: execfile(
    File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 70, in run 
return func() 
    File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 31, in <lambda> 
{'__file__':setup_script, '__name__':'__main__'} 
    File "setup.py", line 41, in <module> 
ImportError: No module named Cython.Distutils 

したがって、私はCythonが卵としてインストールされていることと思いますが、ビルドアウトを実行しているのpythonのプロセスにロードされていません。ビルドアウトにはこれを行うための設定がいくつかありますか?

答えて

2

pymssqlパッケージalreadeは、setup_requiresの依存関係としてCython卵を宣言しますが、インストールには、distutils時間は与えられません。単にsetup_requiresにリストするだけですが、モジュールスコープ(pymssqlのように)でインポートしようとしているだけでは不十分です。 行が解析され、そこにリストされている依存関係が利用可能になるまで、Cython依存関係をインポートしないように、モジュールを再構築する必要があります。基本的には、自身のbuild_cmdクラスを定義する必要があります。このクラスは、インスタンス化するとCythonの依存関係をインポートし、その時点でそのクラスをラップします。

それはあなたがそれはあなたのレシピを実行して増築によってインストールCythonpymssql依存関係をインストールすることができます依存関係としてCythonを使用するカスタムビルドアウトレシピを作成することができることかもしれないが、それは、pymssqlがすべきことは、この傷の石膏です本当に対処してください。

+0

本当に何が起こっているのかを理解するのに役立ちます。私は、あらかじめコンパイルされたpymssqlを含め、その問題を扱うことにします。 – DrakeAnderson

関連する問題