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

xAp*_*ple 10 python ide debugging ssh

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

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

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

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

$ ssh user@dns
$ ipython -pylab
$ execfile("/projectdir/code.py")
Run Code Online (Sandbox Code Playgroud)

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

man*_*est 2

你可能喜欢也可能不喜欢这个建议,但我会使用 vim,适当地设置 makeprg 和 errorformat。这样,您就可以像平常一样通过 ssh 登录,直接在远程计算机上编辑文件,并使用 fastfix-errorlist 进行编译/错误修复。它只会花费您正确设置 makeprg 和 errorformat 的时间。如果你稍微挖掘一下,信息就在那里。

编辑

  1. ssh user@intoyourbox.com
  2. 将此答案的底部的行放在 ~/.vimrc 中
  3. vim 一些模块.py
  4. 输入“:make somemodule.py”
  5. 输入“:cw”,它可能代表 c,如窗口语言中的 c
  6. vim 会弹出一个窗口 [Quickfix List]
  7. 将光标悬停在 [快速修复列表] 中的错误上
  8. 按回车键
  9. vim 将光标更改为上面的窗口并将其置于错误处
  10. 使用您的 vim 技能修复错误,“:h”获取帮助和教程
  11. Ctrl+w, j 将光标向下移动一个窗口,返回到您的快速修复列表
  12. Ctrl+w, k 将光标向上移动一个窗口
  13. 根据需要重复步骤 7-12
  14. “:make somemodule.py”以确保您修复了所有内容
  15. 欢迎来到黑暗面,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%.%#
Run Code Online (Sandbox Code Playgroud)

设置makeprg告诉 vim 你的“编译器”是 python。设置错误格式告诉 vim 如何解析“编译器”的输出,以便您可以跳转到错误行。上网查了一下,有很多关于 python 编程的 vimrc 建议。Xcode/Visual C++/Perl/etc 也有 makeprg/errorformat 设置,如果你用不同的语言编程,这确实使 vim 成为双赢的局面。还有其他一些奇特的东西,比如自动缩进、代码完成和语法突出显示。享受

注意:这些设置几乎是从这里逐字获取的。