2014-12-13 233 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

相關問題