我在win32上安装了Windows 7 x64和Python版本2.7.6。 安装的框架是:
Microsoft .NET Framework 4.5.2 Microsoft .NET Framework 4多目标包。 因此,当我运行我的应用程序时,他崩溃了:
import clr
出现此错误:
SystemError: dynamic module not initialized properly
我还用Visual C#2010 express重建pythonnet,使用x86平台,但没有。
请有人帮助我。 并且可能有人可以告诉我安装所需的.NET Framework以使用pythonnet。
答案 0 :(得分:2)
我也有这种行为。我通过pip安装Python.net来修复它:
python -m pip install pythonnet
(可能需要以管理员/ root身份运行)
安装完成后,执行
时不会出现任何错误> python
> import clr
答案 1 :(得分:1)
发生错误的原因是clr.pyd
无法找到Python.Runtime.dll
。基本上您已成功导入clr.pyd
,但clr.pyd
找不到Python.runtime.dll
。因此,为了使您的dll可搜索,您需要将Python.Runtime.dll
的位置添加到System PATH
。
我们假设您的main.py
import clr
以及clr.pyd
和Python.Runtime.dll
位于同一目录中,您只需要添加以下几个main.py
开头的行:
import sys
import os
sys.path.insert(0, os.path.abspath('./')) # add the current file location to sys path so that the clr module is searchable