用python远程编码和执行:什么IDE?

时间:2010-07-06 14:09:26

标签: python debugging ide ssh

过去六个月我一直在python中开发一个项目,并喜欢这门语言。但我还没有找到可以为我提供一些额外功能的IDE或文本编辑器。我目前有语法高亮,这是最简单的事情之一,但不多。我梦想让我的IDE跳转到我的代码中导致崩溃的行而不是从回溯中读取行号并在我的文本编辑器中手动定位它。我一直在寻找能够在我的开发限制下做到这一点的事情,但没有成功。我的约束如下:

  • 正在开发的python代码位于远程计算机上,该计算机配备了足够的RAM和CPU来运行代码。那台机器没有屏幕或键盘。
  • 我从我的笔记本电脑编写代码,这是一个运行OS X的macbook pro,无意执行代码。
  • 远程计算机正在运行Fedora 12,并提供具有root访问权限的SSH连接。
  • 我在家里的连接不够好,无法在远程计算机上运行X11 IDE,并在我的计算机上显示界面。

到目前为止,我一直在使用优秀的CyberDuck客户端通过SSH登录远程计算机。这使我能够在我的任何本地常用文本编辑器(如TextMateTextWrangler)内打开驻留在远程计算机上的文本文件,并在每次保存文件时自动上载更改。这真的让你感觉到你正在编辑你常用的可可界面中的远程文件。

然后执行python代码,我打开第二个SSH连接,这次使用我要输入的终端:

$ ssh user@dns
$ ipython -pylab
$ execfile("/projectdir/code.py")

最后,我阅读了回溯并返回我的本地文本编辑器以找到正确的行号。肯定有更好的办法 !有什么想法吗?

5 个答案:

答案 0 :(得分:2)

这是一个很好的list of Python-Editors

在我看来WingIDE(有一个免费版本)功能丰富,简单易用,支持Remote-Debugging(仅限商业版)。 Eclipse PyDev-Plugin完全免费,值得研究,似乎支持Remote-Debugging

答案 1 :(得分:1)

您可能会或可能不喜欢这个建议,但我会使用vim,正确设置makeprg和errorformat。通过这种方式,您可以像往常一样使用ssh,直接在远程计算机上编辑文件,并使用quickfix-errorlist编译/错误修复。它只会花费你时间来正确设置makeprg和errorformat。如果你做了一点挖掘信息就在那里。

修改

  1. ssh user@intoyourbox.com
  2. 在〜/ .vimrc
  3. 中放置此答案底部的行
  4. vim somemodule.py
  5. 输入“:make somemodule.py”
  6. 键入“:cw”,可以代表c,如语言,窗口
  7. vim会弹出一个窗口[Quickfix List]
  8. 光标[Quickfix List]
  9. 中的错误
  10. 按enter
  11. vim将光标更改为上面的窗口并将其置于错误
  12. 使用您的vim技能修复错误,“:h”获取帮助和教程
  13. Ctrl + w,j会将光标向下移动到窗口,返回到快速修复列表
  14. Ctrl + w,k将光标向上移动窗口
  15. 根据需要重复步骤7-12
  16. “:make somemodule.py”以确保修复所有内容
  17. 欢迎来到黑暗的,vim规则。
  18. 〜/ .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你的“编译器”是python。设置 errorformat 告诉vim如何解析“编译器”的输出,以便跳转到错误行。在互联网上四处看看,有很多vimrc建议在python中编程。 Xcode / Visual C ++ / Perl / etc还有makeprg / errorformat设置,如果你用不同的语言编程,这真的让vim成为一个双赢的局面。还有其他一些奇特的东西,如autoindent,代码完成和语法高亮。享受

    注意:这些设置几乎是从here逐字记录的。

答案 2 :(得分:0)

你应该关注PyCharm - 它尚未准备好生产,但它有一个真正的潜力成为一个伟大的IDE。我已经使用它大约7个月 - 只要你保持你的构建最新,你可以续订45天免费试用。我相信远程调试是生产版本支持的功能。

答案 3 :(得分:0)

我使用它已经多年了,但商业版Komodo包含一个远程调试器,通常是一个非常称职的Python编程包。

或者,您可以尝试使用独立的远程调试器:WinPdb - 尽管名称适用于Mac和Linux,但它非常好。

答案 4 :(得分:0)

您可以尝试专业版的PyCharm。到目前为止,它是迄今为止我发现的最好的远程调试器。有完整的调试功能可用于远程开发。唯一的问题是你可能每年要花几美元。