我正在編寫一個C#GUI應用程序,我希望使用numpy,我廣泛使用了Python 2.7,它非常快速且易於編程。 (我仍然發現用C#工作的GUI比PyQt更容易使用)。如何部署通過IronPython調用numpy的C#應用程序
numpy和scipy的IronPython端口現在存在,我想了解如何使用它。
在開始之前,我想知道我有什麼樣的部署選項? 我可以完全包裝python和numpy,還是必須在我的客戶機器上安裝python,Ironpython,numpy?
我正在編寫一個C#GUI應用程序,我希望使用numpy,我廣泛使用了Python 2.7,它非常快速且易於編程。 (我仍然發現用C#工作的GUI比PyQt更容易使用)。如何部署通過IronPython調用numpy的C#應用程序
numpy和scipy的IronPython端口現在存在,我想了解如何使用它。
在開始之前,我想知道我有什麼樣的部署選項? 我可以完全包裝python和numpy,還是必須在我的客戶機器上安裝python,Ironpython,numpy?
您可以將Ironpython代碼作爲DLL或exe包裝到.net程序集中。如果需要從加載其他.NET代碼的代碼,創建使用IronPython的腳本
import clr
clr.CompileModules(dllname, module1.py, module2.py,...)
然後加載組件與
Assembly dpma = Assembly.LoadFile(Path.GetFullPath("CompiledIronPythonModule.dll"));
pyEngine.Runtime.LoadAssembly(dpma);
(C#示例)的DLL。在VisualStudio中,您需要引用IronPython和項目中的dll。
我剛成功地用IronPython 2.7.5,Visual Studio 2012 .NET 4.0與英特爾Fortran Composer XE 2013(使用後者需要對scipy iron_setup.py文件進行一些更改)從頭編譯numpy和scipy-refactored。輸出是一組DLL。我現在可以在IronPython命令行上導入這些模塊。現在還沒有工作的是如何將IronPython代碼與numpy/scipy導入到.net程序集中。爲此,我將檢查ironpycompiler。
您使用的是哪種版本的Iron Python?什麼CLR? – 2013-02-14 23:52:34
我仍然在使用我自己的數學(主要是4x4矩陣)數值部分。現在就使用C#(.Net 4.0)。由於我沒有使用任何高級C#特性,因此我會靈活部署,因爲它很容易部署。 – roadrunner66 2013-02-15 00:54:44
dlr已經安裝了.net 4.所以你不必安裝它。在這種情況下,通常只需轉儲IronPython程序集和自定義程序集即可。我不知道裸體 - 你必須與他們覈對。 – 2013-02-15 00:57:32