2010-07-06 37 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