真的很抱歉!但对于我的生活,我正在接近试图安装疯狂的突破点 Python for .NET。我仔细阅读下面的说明,但仍然无法使安装工作。我在Spyder IDE上运行python,我有一个Windows 7.我下载了文件pythonnet-2.0-Beta0-clr4.0_140_py27_UCS2_x86。我使用以下命令找到了我的python目录:
>>> import os
>>> os.getcwd()
'C:\\Users\\Jessica'
我将所有未经过删节的文件拖到目录中并尝试加载CLR
>>> import clr as ccllrr
Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'clr.pyd' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
File name: 'clr.pyd'
但我一直收到此错误消息。我究竟做错了什么?在某处错过了一步吗?
以下是我一直关注的说明: How to install Python for .NET on Windows
和
答案 0 :(得分:6)
简短的回答是你需要install .NET Framework 4.0 or later。
我实际上没有安装.Net。
是的,你这样做。 Windows 7内置了.NET,但它通常只带有2.0,3.0和3.5。 (This question给出了一些信息。)你需要4.0。
我认为我不需要安装它,因为这个模块是一个替代品,允许我通过Python使用.Net。
是的,它允许您通过Python 使用 .NET - 但您仍然必须拥有 .NET才能使用。< / p>
无论如何,你不是要安装.NET 4.0,而是可以从源代码构建Python for .NET以使用.NET 3.5,或者寻找针对3.5或4.0预构建的版本。但是安装.NET 4.0可能是让自己工作的最简单方法。
我怎么知道你需要4.0?
好吧,首先,这个错误信息:
未处理的异常:System.BadImageFormatException:无法加载文件或程序集&#39; clr.pyd&#39;或其中一个依赖项。此程序集由比当前加载的运行时更新的运行时构建,无法加载。
...意味着clr.pyd
文件是为某些较新版本的.NET构建的,而不是您拥有的文件。但是哪一个?这来自你下载的名字:
pythonnet-2.0-Beta0-clr4.0_140_py27_UCS2_x86
clr4.0
部分表示它适用于CLR 4.0版。如果您知道CLR(又名&#34;公共语言运行时&#34;)和&#34; .NET Framework Runtime&#34;同样的事情,这是显而易见的,但大多数人实际上并不知道,除非他们已经是.NET程序员,所以...不完全是你不猜测的错误。