远程编码与执行Python:选哪个IDE?
我已经用Python开发了一个项目六个月了,真的很喜欢这个语言。不过,我还没找到一个能给我提供额外功能的IDE或文本编辑器。目前我只有语法高亮,这算是最基本的功能,但其他的就不多了。我希望我的IDE能直接跳到导致崩溃的代码行,而不是从错误信息中找行号,然后手动在文本编辑器里找。这段时间我一直在寻找能满足我开发需求的工具,但一直没有找到。我的开发环境有以下限制:
- 我开发的Python代码运行在一台远程机器上,这台机器有足够的内存和CPU来执行代码,但没有屏幕和键盘。
- 我是在我的笔记本电脑上编写代码,使用的是MacBook Pro,运行的是OS X,这台电脑不用于执行代码。
- 远程机器上运行的是Fedora 12,并且可以通过SSH连接,拥有root权限。
- 我在家里的网络连接不够好,无法在远程机器上运行X11 IDE并将界面显示在我的电脑上。
到目前为止,我的做法是通过SSH登录到远程机器,使用非常好的CyberDuck客户端。这让我可以在本地的文本编辑器中打开远程机器上的文本文件,比如TextMate或TextWrangler,每次保存文件时,修改都会自动上传。这真的让你感觉像是在用你熟悉的界面编辑远程文件。
然后,为了执行Python代码,我会打开第二个SSH连接,这次使用终端,我会输入:
$ ssh user@dns
$ ipython -pylab
$ execfile("/projectdir/code.py")
最后,我查看错误信息,然后回到本地的文本编辑器去找正确的行号。肯定有更好的方法!有没有什么想法?
6 个回答
你应该关注一下PyCharm这个工具——虽然它现在还不能完全用于生产环境,但它有很大的潜力成为一个很棒的开发工具。我已经使用它大约7个月了——只要你保持更新,它的45天免费试用期是可以续的。我相信,远程调试这个功能在正式版中会得到支持。
这里有一个很好的Python编辑器列表。
我觉得WingIDE(有免费版本)功能非常丰富,使用起来简单好用,并且支持远程调试(只有商业版有这个功能)。另外,Eclipse的PyDev插件是完全免费的,也值得一试,似乎也支持远程调试。
你可能会喜欢这个建议,也可能不喜欢,但我会推荐使用vim,并适当地设置makeprg和errorformat。这样你就可以像平常一样通过ssh登录,直接在远程机器上编辑文件,并使用quickfix-errorlist来编译和修复错误。唯一需要花时间的就是正确设置makeprg和errorformat。如果你稍微查一下,网上有很多相关的信息。
编辑
- ssh user@intoyourbox.com
- 把这个回答底部的几行放到~/.vimrc文件里
- 输入命令:vim somemodule.py
- 输入":make somemodule.py"
- 输入":cw",这可能代表c语言的窗口
- vim会弹出一个窗口[Quickfix List]
- 把光标移动到[Quickfix List]中的一个错误上
- 按下回车键
- vim会把光标移动到上面的窗口,并定位到错误的位置
- 用你的vim技巧修复错误,输入":h"可以查看帮助和教程
- 按Ctrl+w, j可以把光标向下移动到quickfix列表
- 按Ctrl+w, k可以把光标向上移动
- 根据需要重复步骤7到12
- 再输入":make somemodule.py"来确保你修复了所有问题
- 欢迎你加入vim的世界,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你的“编译器”是python。设置errorformat则告诉vim如何解析你的“编译器”的输出,这样你就可以直接跳转到错误行。网上有很多关于在python中使用vimrc的建议。如果你用其他语言编程,比如Xcode/Visual C++/Perl等,也有相应的makeprg/errorformat设置,这样vim就能适应多种语言,真是太划算了。此外,还有自动缩进、代码补全和语法高亮等其他好用的功能。好好享受吧!
注意:这些设置几乎是直接从这里复制过来的。