標籤:idl python libsvm slither 32位
在IDL中調用自訂PythonModule
要在IDL8.3中調用自訂的Python Module以實現在IDL中不方便完成的任務。如使用一些開發包,但是這個開發包並不支援IDL,畢竟使用IDL的人數還是相對較少的。因此,混合編程是一個解決之道。下面介紹在IDL(32位,下面的介紹都只是針對32位的IDL8.3)中調用自訂的PythonModule的操作步驟。
1) 下載Slither(The IDL toPython Bridge)。http://research.jacquette.com/slithertm-product-information/。目前支援Python26/27/33版本。
2) 解壓Slither,選擇對應的Python檔案家中的dll和dlm檔案,將其複製到IDL的安裝路徑下。----Exelis\IDL83\bin\bin.x86。即可完成Slither的安裝。
3) 開啟IDL8.3,如果Python中安裝好了numpy。即可進行初步的測試。測試代碼如下:
IDL>rand=pyimport("random")
IDL>rand.randint(0,5)
4) 完成Slither的安裝之後,現在開始編寫自訂的Python Module。選擇一個目錄建立一個檔案夾。分別在檔案夾中建立兩個.py檔案。一個為setup.py,另一個根據需要取名,本文以CloneSVM.py為例。
5) Setup.py檔案中的代碼1所示。其中name值和py_modules值必須和自己的py檔案的名稱相同。
圖1 setup.py檔案代碼
6) CloneSVM.py才是真正的自訂PythonModule。其代碼如2所示:
圖2 Module代碼
7) 確定自己的代碼無誤後,運行setup.py。在cmd命令視窗中先後輸入以下命令。
Python setup.py sdist
Python setup.py install
至此,便完成了自訂的Module的發布和安裝。3中綠框所示:
8)如同第3步一樣,採用pyimport匯入自己的模組。至此,便可在IDL中調用Python module了。
在IDL中調用自訂Python Module