2014-12-13 76 views
4

真的很抱歉家伙!但是对于我来说,我已经接近尝试为.NET安装 Python的疯狂时刻。我仔细阅读下面的说明,仍然无法使安装工作。我在Spyder IDE上运行python,我有Windows 7。我下载了pythonnet-2.0-Beta0-clr4.0_140_py27_UCS2_x86文件。我发现我的Python目录中使用以下命令:Python for .NET安装:无法加载文件或程序集'clr.pyd'

>>> 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

http://pythonnet.github.io/

+1

从错误信息中查看链接的答案,可能与“确保PythonNET安装文件夹(例如C:\ Python27)中没有遗留旧的东西。在我的情况下,我有遗留的clr.pyd在一个文件夹中。“ – 2014-12-13 05:37:36

+1

我不知道如何使用:( – jessica 2014-12-13 05:37:45

+1

感谢您的建议埃德加,我看着我的C:\ Python27我没有发现clr文件 – jessica 2014-12-13 05:39:48

回答

3

简短的回答是,你需要install .NET Framework 4.0 or later

我其实没有安装.Net。

是的。 Windows 7内置了.NET,但它通常只包含2.0,3.0和3.5。 (This question给出了一些相关信息。)而你需要4.0。

我不认为我需要它安装,因为这个模块是一个替代品,允许我通过Python使用.Net。

是的,它可以让你使用 .NET通过Python的,但你还是要 .NET为它使用


不管怎么说,而不是安装.NET 4.0,你可以源代码构建的Python .NET使用.NET 3.5,或者寻找一个版本预建对3.5或4.0。但是安装.NET 4.0可能是让自己工作的最简单方法。


我怎么知道你需要4.0?

嗯,首先,此错误消息:

未处理的异常:System.BadImageFormatException:无法加载文件或程序集clr.pyd'或它的一个依赖。此程序集由比当前加载的运行时更新的运行时构建,无法加载。

...意味着clr.pyd文件是为内置了一些较新版本的.NET比你有一个的。但是哪一个?这来自于你下载的名称:

pythonnet-2.0-Beta0-clr4.0_140_py27_UCS2_x86 

clr4.0部分意味着它是CLR版本4.0。如果你知道CLR(又名“Common Language Runtime”)和“.NET Framework Runtime”是相同的东西,这将是显而易见的,但大多数人并不知道,除非他们已经是.NET程序员,所以......不是你猜错的错。

+1

abarnert!保佑你的心脏工作。你的我的英雄! – jessica 2014-12-13 17:54:58

+0

pythonnet自2014年起在github上 - https://github.com/pythonnet/ pythonnet – denfromufa 2017-03-30 12:17:09

相关问题