Linux控制台上的Python IDE

时间:2009-08-19 17:12:36

标签: python shell vi

这可能听起来很奇怪,但我需要一种更好的方法来构建python脚本而不是用nano / vi打开文件,更改内容,退出编辑器,然后一遍又一遍地输入python script.py

我需要在没有任何gui的情况下在Web服务器上构建脚本。任何想法如何改进我的工作流程?

10 个答案:

答案 0 :(得分:21)

将此行放在.vimrc文件中:

:map <F2> :w\|!python %<CR>

现在点击<F2>将保存并运行你的python脚本

答案 1 :(得分:9)

您应该看一下screen实用程序。虽然它不是IDE,但它是终端上的某种窗口管理器 - 即你可以有多个窗口并在它们之间切换,这使得这样的任务变得更加容易。

答案 2 :(得分:6)

答案 3 :(得分:5)

使用带有python-mode的emacs,您可以使用C-c C-c

执行脚本

答案 4 :(得分:4)

你可以尝试ipython。使用其编辑命令,它将调出你的编辑器(nano / vim / etc),你编写你的脚本,然后在退出时你返回到ipython提示符并自动执行脚本。

答案 5 :(得分:2)

在控制台上使用Vim时,我发现在Vim中使用“tabs”而不是在后台暂停多个Vim实例,这使得在Vim中处理多个文件更加高效。需要一点时间来适应,但它的效果非常好。

答案 6 :(得分:1)

你可以在ssh上运行XVNC,这实际上可以通过响应来做这种事情并获得一个窗口GUI。我在新西兰真正的哮喘Jetstart DSL服务(128K up / 128K down = 8 ^ P)上做得非常有效,而且它对gvim和xterm窗口肯定有足够的响应能力。另一个选项是screen,,它允许您打开多个文本会话并在它们之间切换。

答案 7 :(得分:1)

实际上有两个问题。首先是轮询控制台IDE用于python,第二个是更好的开发/测试/部署工作流程。

虽然有很多方法可以在控制台中编写python代码,但我发现屏幕,vim和python / ipython的组合是最好的,因为它们通常在大多数服务器上都可用。如果你正在进行长时间的会话,我发现emacs + python-mode通常会减少打字。

为了获得更好的工作流程,我建议您设置一个开发环境。这些天你可以轻松地在台式机/笔记本电脑上轻松设置Linux VM - 即使是针对业余爱好项目,也没有理由不这样做。这为您提供了更多的IDE选择,例如:

我还会设置一个SCM来跟踪变化,以便你做到 更好的QA并使用它将测试的更改部署到服务器上。

例如,我将Mercurial用于我的宠物项目,我只需在准备就绪时标记我的repo,并在部署时将生产服务器更新为标记。在devbox上,我这样做:

  • (hack hack hack,test test test)
  • hg ci -m'comment'
  • hg tag
  • hg push

然后我跳到服务器上并在部署时执行以下操作:

  • hg update
  • 根据需要重启服务/网络服务器

答案 8 :(得分:0)

那么,除了使用一个功能更强大的控制台编辑器(Emacs或vi会想到)之外,为什么还要在Web服务器上编辑它?如果常量FTP / WebDAV传输看起来很麻烦,只需远程编辑即可。

Emacs有Tramp Mode,Linux上的gedit和Mac上的bbedit也支持远程编辑。可能还有相当多的其他编辑。在这种情况下,您只需在更强大的桌面上编辑,然后从shell窗口重新启动脚本。

答案 9 :(得分:0)

就其价值而言,仅 VIM 就可以完成与之前发布的任务相同的任务。我在从命令行测试 Python 时遇到了同样的问题。

我的解决方案是使用 screen 命令。我垂直拆分屏幕,在一个 shell 实例中运行 Python,在第二个屏幕上,我通常使用 VIM 编辑 Python 代码。

安装 screen 的命令:

sudo apt-get install screen

screen 包有一点学习曲线,但如果您能记住包含所有知识的“Ctrl-Alt ?”命令,就没有任何神秘感。 不需要 GUI!