2010-07-06 68 views
8

我在過去六個月中一直在開發python項目,並且熱愛這門語言。但我還沒有找到可以爲我提供一些額外功能的IDE或文本編輯器。我目前有語法突出顯示,這是最簡單的事情之一,但沒有更多。我夢想着讓我的IDE跳到我的代碼中導致崩潰的行,而不是從回溯中讀取行號並在我的文本編輯器中手動找到它。我一直在尋找可以在我的發展限制下做到這一點的事情,但沒有成功。我的約束如下:使用python進行遠程編碼和執行:什麼IDE?

  • 正在開發的python代碼取決於遠程計算機,配備足夠的RAM和CPU來運行代碼。該機器沒有屏幕或鍵盤。
  • 我從我的筆記本電腦,一個運行OS X的Macbook Pro代碼,這不意味着執行代碼。
  • 遠程計算機正在運行Fedora 12並通過root訪問提供SSH連接。
  • 我的連接不夠好,無法在遠端機器上運行X11 IDE,並且在我的機器上顯示界面。

我一直在做的事情就是使用優秀的CyberDuck客戶端通過SSH登錄到遠程計算機。這使我能夠在我的任何本地常用文本編輯器(如TextMateTextWrangler)內的遠程計算機上打開一個文本文件,並在每次保存文件時自動上傳更改。這真的給你感覺你正在編輯通常的可可接口中的遙遠的文件。

然後執行Python代碼,我打開第二個SSH連接,這時候使用終端到我可以鍵入:

$ ssh u[email protected] 
$ ipython -pylab 
$ execfile("/projectdir/code.py") 

Finaly,我讀了回溯,回到我的本地文本編輯器找到正確的行號。一定會有更好的辦法 !有任何想法嗎 ?

回答

2

你可能會也可能不會喜歡這個建議,但我會用vim,適當地設置makeprg和errorformat。通過這種方式,您可以像往常一樣使用ssh,直接在遠程機器上編輯文件,然後使用quickfix-errorlist編譯/錯誤修復。它只會花費您正確設置makeprg和errorformat的時間。如果你有一點挖掘信息就在那裏。

編輯

  1. SSH [email protected]
  2. 把線在此答案的〜/ .vimrc
  3. VIM somemodule.py
  4. 型「的底部:使somemodule.py「
  5. 類型」:cw「可能代表c語言,窗口
  6. vim會彈出一個窗口[quickfix列表]
  7. 光標移到錯誤在[quickfix列表]
  8. 按回車鍵
  9. VIM光標變爲窗口上方,並將其放置在錯誤
  10. 使用vim的技能修正錯誤, 「:H」的幫助和教程
  11. Ctrl + W,J會向下移動光標的窗口,回到你的quickfix列表
  12. 按Ctrl + W,k將光標移動一個窗口
  13. 重複步驟7 -12必要
  14. 「:make somemodule.py」確保你修好了所有的東西
  15. 歡迎你到darkside,vim規則。

的〜/ .vimrc設置:

"python makeprg settings 

setlocal makeprg=python\ % 

setlocal errorformat= 
     \%A\ \ File\ \"%f\"\\\,\ line\ %l\\\,%m, 
     \%C\ \ \ \ %.%#, 
     \%+Z%.%#Error\:\ %.%#, 
     \%A\ \ File\ \"%f\"\\\,\ line\ %l, 
     \%+C\ \ %.%#, 
     \%-C%p^, 
     \%Z%m, 
     \%-G%.%# 

設置makeprg告訴Vim你的 「編譯」 是蟒蛇。設置errorformat告訴vim如何解析「編譯器」的輸出,以便跳轉到錯誤行。在互聯網上瀏覽一下,有很多vimrc的Python編程建議。對於Xcode/Visual C++/Perl /等,還有makeprg/errorformat設置,如果你使用不同的語言進行編程,它確實使vim成爲雙贏的局面。還有其他奇特的東西,如autoindent,代碼完成和語法高亮。享受

注意:這些設置幾乎是逐字從here

+0

我想過使用像emacs或vim這樣的終端文本編輯器。我可能已準備好進入縮小界面。但是這個解決方案會讓我在執行崩潰時跳到正確的行嗎? – xApple 2010-07-06 17:49:58

+1

既然你已經表現出了興趣,我編輯了我的答案 – manifest 2010-07-06 19:21:56

+0

由於「編譯」和運行python程序基本上是從vim的角度來看是相同的,它會帶你到正確的行當執行崩潰 – manifest 2010-07-06 19:31:17

0

您應該留意PyCharm - 它尚未準備好生產,但它有一定的潛力成爲一個好的IDE。我已經使用了大約7個月的時間 - 只要您保持最新版本,即可續訂45天免費試用期。我相信遠程調試是生產版本支持的功能。

+0

我在尋找更好的IDE時已經安裝了PyCharm,但正如您所說,遠程調試尚未包含在內。當然,我會繼續關注它。 – xApple 2010-07-06 14:39:02

+2

快進到2014年,PyCharm PRO現在有了非常棒的遠程調試。它支持兩種模式,調試服務器和ssh。 – jhexp 2014-02-19 13:35:04

2

這裏是一個很好的list of Python-Editors

在我看來WingIDE(這是一個免費版本)功能非常豐富,既好又方便,並支持Remote-Debugging(僅限於商業版)。另外Eclipse PyDev-Plugin完全免費,值得關注,似乎支持Remote-Debugging

+0

WingIDE可能會勝任這個任務......但是他們會說:「由於遠程調試配置相當複雜,我們目前推薦使用通過X Windows遠程顯示IDE」。另外,這只是爲了調試,它不會讓您編輯遠程計算機上的文件並直接運行它們。您需要在每次運行時在兩臺機器之間傳輸和同步所有代碼。 – xApple 2010-07-06 14:49:16

0

我使用它已經有好幾年了,但Komodo的商業版本包含一個遠程調試器,並且通常是一個非常有效的Python編程軟件包。

或者,您可以嘗試一個獨立的遠程調試器:WinPdb - 儘管名稱適用於Mac和Linux,但它非常好。

+0

不幸的是,300USD目前不適合我。 – xApple 2010-07-06 14:45:20

+0

是的,我的經驗來自於他們允許您提供個人非商業用途的完整版本。 – 2010-07-06 15:07:14

+0

我已經使用WinPdp並瞭解如何將它附加到進程。但是,這並不能提供遠程編輯文件並自動運行文件的解決方案。 – xApple 2010-07-06 18:02:48