2013-01-31 14 views
15

Python for .NETをダウンロードしました。
ジップ内には、clr.pyd,nPython.exe,Python.Runtime.dllと2つのデバッグデータベースファイルがあります。
私はPython DLLs内にclr.pydとPython.Runtime.dllを入れました。C:\ Python27 \ DLLsこれはインストールに必要なすべてだと思っています。私は、PythonのGUIとタイプ輸入CLRを開き、私が出る:Python for .NETをWindowsにインストールする方法

Traceback (most recent call last): 
    File "<pyshell#2>", line 1, in <module> 
    import clr 
SystemError: dynamic module not initialized properly 

新しいのpythonにはなく、.NETないとCPythonのとないIronPythonのを使用します。このインストールでは何が欠けていますか? ReadmeのPython for .NETには、Windowsパッケージのインストールがあると言われていますが、私が見つけたのはzipファイルだけでした。

+0

"python.net"あなたはironpythonを意味しませんか? –

+5

私はしません。 IronPythonは、MSが独自に作成した実行ファイルです。私は "普通の" Pythonを使いたいが、.NETライブラリを公開したい。 Python.NETがこれを理解したのは私の理解でした。 – user441521

+1

ご理解の方が正しいです。私はIronPythonがPythonを含む.Net envであることを説明したいと思います。 Python .NetにPythonに.Netを含めることができます。 – bc3tech

答えて

5

Python for .NETをインストールする正しい方法は、すべてのファイルを.zipから.pyファイルを含むディレクトリにコピーすることです。

あなたは

python yourfilename.py 

を実行した場合、あなたは "輸入CLR" 文が動作することを見つける必要があります。私はpython 2.7 x86とpythonnet-2.0-Beta0-clr4.0_140_py27_UCS2_x86.zipを使ってこれをテストしました

私の作業ディレクトリにclr.pydファイルをコピーするだけでエラーを再現できました。私は、Python 3.3のx86やPython 3.3のx64

+0

私はこの問題が他のファイルの上にコピーすることに関係しないと考えています。 – Jonno

+2

これはsys.pathに現在のディレクトリが含まれているため動作しますが、各.pyスクリプトでpythonnetを運ぶことはあまり柔軟ではなく、メンテナンスの悪夢です。 – denfromufa

2

で、この作業をすることができませんでした

注私は、なぜ、まだわかりませんが、私はそれが仕事を得ることができる唯一の方法は、にそれらの3つのファイルをコピーすることですC:\ Python27 \ディレクトリに直接コピーします。

13

PythonでCLRをロードする適切な方法は、このようなものです:

  1. 何の古いものはPythonのインストールフォルダにPython.NETから残っていないことを確認してください(たとえばC:\ Python27)。私の場合は、フォルダの1つに遺産clr.pydがありました。いくつかの古いバージョンのpipはPython.NETのすべての部分を削除しなかったことに注意してください。
  2. 今すぐあなたも、Pythonのディレクトリにインストールすることなく、最も柔軟な方法CLRロードすることができますsys.path

にPython.NETファイル(clr.pydPython.Runtime.dll)でディレクトリを追加!

あなたはgithubの上でソースからコンパイルすることができます。

pip install git+https://github.com/pythonnet/pythonnet 

やクリストフゴールケからWindowsホイール/インストーラを使用します。

http://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonnet

は、PyPIパッケージは、ピップからインストール可能です:

https://pypi.python.org/pypi/pythonnet

このようドッキングウィンドウ、WinPython、conda、nuget、チョコの

その他のインストールオプションは、ここに記載されています:私は実際にここに私自身の手にして事項を取り、Python.Netチョコレートのようパッケージを作成し

https://github.com/pythonnet/pythonnet/wiki/Installation

+1

これは私の息子を助けたので、私はupvoteを借りている –

3

。インストールする 、単純にコマンドラインで

cinst pythonnet

を実行します。たぶんこれは、ユーザーがこれを実行するのに問題があるのに役立ちます。

2

py2exeでフリーズする場合、またはpyinstallをインストールする場合は、必ずdevバージョンをインストールしてください。 py2exe、pyinstaller、およびおそらく他のフリーザでパッケージ化された2.0.0リリースには何か問題があります。しかし、2.1.0.dev1はうまくいきます。だから... ...

pip install --pre pythonnet

そして、あなたがバンドルにpythone.runtime.dllを追加する必要があります(お好みバンドラためのドキュメントを参照してください)。 また、bundle_files:1(single exe)を使用してpy2exeがdllをロードする方法に問題があります。

関連する問題