2011-07-28 18 views
9

...何らかのラッパーが必要ですか?IronPythonですべての標準Pythonライブラリを使用できますか?

IronPythonはPythonの.NET実装です。IronPythonで構築されたアプリケーションは、魔法のように標準のPythonライブラリ(これは卵にパッケージされたraw .pyソースまたは.pyソースのいずれかと思われます)しかし、私が見つけたページの一番下にある http://www.doughellmann.com/PyMOTW/hashlib/index.htmlを読むと、「IronPythonで動作するhashlibのラッパー」が見つかりました。これは、すぐに...ガードに

+0

IronPythonは、CLRのPython言語の再実装です。したがって、必ずしもすべての図書館のサポートを受けるとは限りません。彼らは多くのものを用意しましたが、CPythonプログラムでは100%の移植性は期待していません。 – Keith

答えて

10

を読むことができますそれは異なります。

  • ライブラリモジュールは、純粋なPythonで実装されている場合は、動作する可能性があります。
  • Cで実装されたライブラリモジュールは動作しません。 ironclad projectは、IronPythonがコンパイルされたPython C拡張をインポートして使用できるようにすることを目的としています。
+0

これは正しいです。 IronPthonに含まれているものに加えて、私が今までに必要としてきたすべての組み込み関数を備えた広範な.NET基本クラスライブラリ(この機能はIronPythonの最大の資産です)にアクセスできることにも留意してください。言い換えれば、単純な 'clr.AddReference()'だけであなたのironpythonプロジェクトに簡単に統合できるサードパーティの.NETライブラリがあります。 – Aphex

+0

また、再実装されたモジュールもあります。たとえば、正規表現マッチングのための '' re''モジュールがあります。 CPythonでは、 '' re''モジュールはCの拡張モジュールを使用するPythonモジュールです。 IronPythonでは、 '' re''モジュールはC#で実装され、BCLのSystem.Text.RegularExpressionsを使用します。 – codeape

2

んが私を入れない - あなたはすべて標準ライブラリを使用することはできません。そして、既存のIronPythonの標準ライブラリもすべてPythonと同じではありません。これらはすべて新しい実装です。たとえば、datetimeのPythonモジュールを使用できますが、純粋なPythonなどのstrptime実装はありません。

あなたがより一般的なIronPythonの2.6にhere

Does IronPython implement python standard library?は、Python 2.6の実装ですが、すべてではない標準のpythonモジュールは、IronPythonのに移行して読むことができます。

また、あなたは以下のIronPython vs. Python .NET

関連する問題