2012-04-05 14 views
0

IronPythonのEnthoughtの指示に従って、EnthoughtのNumPy implementationをインストールしました。致命的でないIronPython NumPy例外

すべてがimport numpyimport scipy含めて、動作しているようですが、IronPythonのプログラムでこれらのステートメントを持つことは、次の例外が発生します。

A first chance exception of type 'System.Collections.Generic.KeyNotFoundException' occurred in IronPython.dll 

A first chance exception of type 'System.MissingMemberException' occurred in Microsoft.Dynamic.dll 

A first chance exception of type 'System.MissingMemberException' occurred in IronPython.dll 

A first chance exception of type 'IronPython.Runtime.Exceptions.TypeErrorException' occurred in Snippets.debug.scripting 

は、私はこれらの例外をどのように修正すればよいですか?

+0

IronPythonバージョン:2.7.2.1のように見えます。numpyは特定のipyバージョン用に構築されているためです。 –

+0

IronPython 2.7にダウングレードしましたが、同じ例外がスローされ、VS2011で起動に10秒かかります。あまりにも長い。 –

答えて

0

私はそれらについて心配するつもりはないと思いますが、とにかくそれらを削除することはできません。これらはすべてPythonの例外に対応しているため、おそらくCPythonとの互換性を維持する必要があります。 CPythonでは、例外は高速です(.NETよりも数桁速い)ので、PythonコードではC#よりもよく使用されます。

IronPythonは通常、.NET例外メカニズムを使用してPython例外を検出します。これにより、一部のコードでは大幅な遅延が発生する可能性があります。 2.7「軽量例外」メカニズムを追加しますが、これは一貫して使用されていません(互換性は現在のところパフォーマンスよりも重要ですが、プル要求を強く考慮する)。これらの例外をスローするコードの一部は、代わりに軽量例外を使用するように変更することができます。

+0

:(それはあまりにも悪いです。IronPythonがnumpyを使用する10行のプログラムを実行するためには10秒以上待つことが大事です。 –

関連する問題