Python for .NET をダウンロードしました。
ジップの内側はclr.pyd
、nPython.exe
、Python.Runtime.dll
および2つのデバッグデータベースファイル。
clr.pydとPython.Runtime.dllをpython DLLs dir C:\ Python27\DLLsに入れて、これがインストールに必要なすべてだと思います。次に、 Python GUIと入力して、clrと入力すると、次のようになります。
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
import clr
SystemError: dynamic module not initialized properly
pythonだが.NETは使用せず、IronPythonではなくCPythonを使用したい。このインストールで何が不足しているのですか?Python for .NETのReadme は、Windowsパッケージのインストールがあると言いましたが、私が見つけたのはZipファイルだけでした。
PythonでCLRをロードする適切な方法は次のとおりです:
clr.pyd
のいずれかのフォルダ。一部の古いバージョンのpipでは、Python.NETのすべての部分が削除されなかったことに注意してください。clr.pyd
およびPython.Runtime.dll
)からsys.path
Pythonディレクトリにインストールすることなく、最も柔軟な方法でCLRをロードできます!
Githubのソースからコンパイルできます:
pip install git+https://github.com/pythonnet/pythonnet
または、Christoph GohlkeのWindowsホイール/インストーラーを使用します。
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonnet
PyPIパッケージは、pipからインストールできます。
https://pypi.python.org/pypi/pythonnet
Docker、WinPython、conda、nuget、chocoなどのインストールオプションの一覧を以下に示します。
Python for .NETをインストールする正しい方法は、すべてのファイルを.Zipから.pyファイルを含むディレクトリにコピーすることです。
次に実行すると
python yourfilename.py
「import 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
ここで実際に問題を自分の手に取り、Python.Net Chocolateyパッケージを作成しました。インストールするには、単に実行します
シンストパイソン
コマンドラインで。多分これは、これを実行するのに問題があるユーザーを助けるでしょう。
Py2exeまたはpyinstallでフリーズする予定の場合は、必ずdevバージョンをインストールしてください。 py2exe、pyinstaller、その他のフリーザーと一緒にパッケージ化した場合、2.0.0リリースに問題があります。しかし、2.1.0.dev1はうまく機能します。そう...
pip install --pre pythonnet
また、pythone.runtime.dllをバンドルに追加する必要があります(優先するバンドラーのドキュメントを参照)。 bundle_filesを使用するときにpy2exeがDLLをロードする方法にも問題があります:1(単一のexe)。
理由はまだわかりませんが、動作させる唯一の方法は、これらの3つのファイルをC:\ Python27 \ディレクトリに直接コピーすることです。