Python for.NET安装:无法加载文件或程序集';clr.pyd';

Python for.NET安装:无法加载文件或程序集';clr.pyd';,python,python.net,Python,Python.net,真的很抱歉,伙计们!但就我的生命而言,我正接近疯狂安装的临界点 用于.NET的Python。我仔细阅读了下面的说明,但似乎仍然无法让安装正常工作。我在Spyder IDE上运行python,我有Windows7。我下载了pythonnet-2.0-Beta0-clr4.0_140_py27_UCS2_x86文件。我使用以下命令找到了python目录: >>> import os >>> os.getcwd() 'C:\\Users\\Jessica' 我将所

真的很抱歉,伙计们!但就我的生命而言,我正接近疯狂安装的临界点 用于.NET的Python。我仔细阅读了下面的说明,但似乎仍然无法让安装正常工作。我在Spyder IDE上运行python,我有Windows7。我下载了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'
但我一直收到这个错误信息。我做错了什么?有人在什么地方漏了一步吗

以下是我一直遵循的说明:


简单的回答是你需要

我实际上没有安装.Net

是的,你知道。Windows7自带.NET,但通常只有2.0、3.0和3.5版本。(提供了一些相关信息。)您需要4.0

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

是的,它允许您通过Python使用.NET,但您仍然必须使用.NET才能使用它


无论如何,您可以不安装.NET4.0,而是从源代码为.NET构建Python以使用.NET3.5,或者寻找针对3.5或4.0预构建的版本。但是安装.NET4.0可能是让自己工作的最简单方法


我怎么知道你需要4.0

首先,这个错误消息:

未处理的异常:System.BadImageFormatException:无法加载文件或程序集“clr.pyd”或其依赖项之一。此程序集由比当前加载的运行时更新的运行时生成,因此无法加载

…意味着
clr.pyd
文件是为比您现有的.NET版本更新的.NET版本而构建的。但是哪一个呢?来自您下载的文件的名称:

pythonnet-2.0-Beta0-clr4.0_140_py27_UCS2_x86

clr4.0
部分表示它适用于CLR版本4.0。如果您知道CLR(也称为“公共语言运行时”)和“.NET Framework运行时”是同一件事,这是显而易见的,但大多数人实际上并不知道这一点,除非他们已经是.NET程序员,所以…这不完全是您不猜测的错。

从错误消息和链接的答案来看,这与“确保PythonNET的Python安装文件夹(例如C:\Python27)中没有遗留任何旧内容。在我的例子中,我在一个文件夹中有一个遗留的clr.pyd。“我不知道如何使用它:(感谢Edgar的建议,我查看了我的C:\Python27,没有找到clr文件。我正在尝试运行此程序文件。问题是,它只能通过.Net访问。因此,我认为如果我在Python上安装.Net,我可以访问数据进行分析。我知道我迷路了,我只是尝试将数据加载到Python中,以便使用其他numrical数据模块(如numpy.pythonnet)自2014年起就在github上-