https://codeday.me/bug/20190517/1118638.html
Python for .NET安装:无法加载文件或程序集’clr.pyd’
时间: 2019-05-17 04:24:39.0标签: python python-net
译文: 来源翻译纠错
真的很抱歉!但对于我的生活,我正在接近试图安装疯狂的突破点
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
和
最佳答案
简短的回答是你需要install .NET Framework 4.0 or later.
I actually don’t have .Net installed.
是的你是. Windows 7内置了.NET,但它通常只带有2.0,3.0和3.5. (This question给出了一些信息.)你需要4.0.
I didn’t think I need it to e installed as this module was a substitute that allowed me to use .Net through Python.
是的,它允许您通过Python使用.NET – 但您仍然必须使用.NET才能使用它.
无论如何,您可以从源代码构建Python for .NET以使用.NET 3.5,或者查找针对3.5或4.0预构建的版本,而不是安装.NET 4.0.但是安装.NET 4.0可能是让自己工作的最简单方法.
我怎么知道你需要4.0?
好吧,首先,这个错误信息:
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.
…表示clr.pyd文件是为某些较新版本的.NET而不是您拥有的版本构建的.但是哪一个?这来自你下载的名字:
pythonnet-2.0-Beta0-clr4.0_140_py27_UCS2_x86
clr4.0部分意味着它适用于CLR 4.0版.如果你知道CLR(又名“公共语言运行时”)和“.NET Framework运行时”是同一个东西,这很明显,但大多数人实际上并不知道,除非他们已经是.NET程序员,所以……因为没有猜测,不完全是你的错.