星期一, 9月 18, 2006

[.Net]SharpDevelop2 + IronPython + PythonBinding

現在你可以用 SharpDevelop2 開發 IronPython 應用程式了。

1.首先下載PythonBinding,目前最新的版本是 0.5Beta。
2.解開,這裡我是將解開後的檔案放到 c:\tools\pythonbinding
3.打開 SharpDevelop2
4.[Tools][AddInManager],選 Install AddIn
5.指向剛剛 c:\tools\pythonbinding\PythonBinding.AddIn,接著按下 Close。
6.關閉 SharpDevleop2,重新啟動。

接下來,你可以 New Solution,就會看到 Python 的部份
PythonBinding-1

所以請新增一個 console application,這裡我命名為 hellopython。
這個新的專案裡面已經有個 Program.py 了,他只簡單的印出 "Hello world"。
這時候很直覺的按下綠色的三角形,也就是執行,SharpDevelop2 會很直接的告訴你有問題。
The "IronPythonCompilerTask" was not given a value for the required parameter "Mainfile". (MSB4044)


你需要修改一下專案的屬性:以滑鼠右鍵點選左邊的專案,然後選 Property,依照下圖將 Start Object 修改為 Program.py
PythonBinding-2

再次按下執行,SharpDevelop2 很順利地 build 完成,但卻仍然無法執行,SharpDevelop2 會這麼告訴你:
Exception System.ArgumentException was thrown in debuggee:
The path is not of a legal form.

NormalizePathFast()
GetFullPathInternal()
GetFullPath()
ExecuteCompiled()
Main()


可是我以 console 模式去執行編譯出來的 HelloPython.exe,卻可以執行。
後來仔細看了一下工具列,原來按下紅色的驚嘆號就可以順利執行了。
PythonBinding-3

我想應該是 SharpDevelop2 還不支援 IronPython 的除錯模式的關係。
此外,目前也還不支援 Auto completion(自動完成),我想這部份應該很快就會被 release 出來了吧。

參考資料:

沒有留言: