Linux控制台上的Python IDE

Linux控制台上的Python IDE,python,shell,vi,Python,Shell,Vi,这听起来可能很奇怪,但我需要一种更好的方法来构建python脚本,而不是使用nano/vi打开文件,更改某些内容,退出编辑器,然后反复输入python script.py 我需要在没有任何gui的Web服务器上构建脚本。有什么办法可以改进我的工作流程吗?你应该看看这个工具。虽然它不是IDE,但它是终端上的某种窗口管理器——也就是说,你可以有多个窗口并在它们之间切换,这使得像这样的任务更加容易。你可以。你可以通过ssh运行,ssh实际上对这类事情的响应还算可以,并且可以为你提供一个窗口GUI。我在

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


我需要在没有任何gui的Web服务器上构建脚本。有什么办法可以改进我的工作流程吗?

你应该看看这个工具。虽然它不是IDE,但它是终端上的某种窗口管理器——也就是说,你可以有多个窗口并在它们之间切换,这使得像这样的任务更加容易。

你可以。

你可以通过ssh运行,ssh实际上对这类事情的响应还算可以,并且可以为你提供一个窗口GUI。我在新西兰的Jetstart DSL服务(128K up/128K down=8^P)上非常有效地实现了这一点,而且它对gvim和xterm windows的响应肯定足够快。另一个选项是允许打开多个文本会话并在它们之间切换。

使用带python模式的emacs,您可以使用C-C-C执行脚本。

将这一行放入.vimrc文件中:

:map <F2> :w\|!python %<CR>
:地图:w\|!蟒蛇%

现在点击
将保存并运行您的python脚本

在控制台上使用Vim时,我发现在Vim中使用“选项卡”,而不是在后台挂起多个Vim实例,可以更有效地处理Vim中的多个文件。这需要一点时间来适应,但它工作得非常好。

好吧,除了使用一个功能更强大的控制台编辑器(我会想到Emacs或vi),为什么您必须在web服务器上编辑它呢?如果持续的FTP/WebDAV传输看起来很麻烦,只需远程编辑即可


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

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

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

虽然有很多方法可以在控制台中编写python代码,但我发现screen、vim和python/ipython的组合是最好的,因为它们通常在大多数服务器上都可用。如果您正在进行长会话,我发现emacs+python模式通常涉及较少的键入

为了更好的工作流程,我建议设置一个开发环境。现在,你可以很容易地在你的台式机/笔记本电脑上安装一个Linux虚拟机——即使是出于爱好,也没有理由不这么做。这为您提供了更多的IDE选择,例如:

  • VI和friends的GUI版本
  • 在Emacs中使用python模式进行远程文件编辑和本地测试
  • 当然还有
我还将设置一个SCM来跟踪更改,以便 更好的QA,并使用它将经过测试的更改部署到服务器上

例如,我将Mercurial用于我的宠物项目,我只需在我的回购准备就绪时标记它,并在部署时将生产服务器更新为该标记。在devbox上,我执行以下操作:

  • (黑客攻击,测试)
  • hg ci-m‘评论’
  • 汞标签
  • 汞推力
然后跳到服务器上,在部署时执行以下操作:

  • 汞更新
  • 根据需要重新启动服务/Web服务器

值得一提的是,VIM可以单独完成与之前发布的任务相同的任务。我在从命令行测试Python时遇到了同样的问题

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

安装
屏幕的命令

sudo apt-get install screen
屏幕
软件包有一点学习曲线,但如果您能记住包含所有知识的“
Ctrl-Alt?
”命令,就不会有任何神秘之处。
不需要GUI

比起屏幕,我更喜欢tmux。有一款很棒的自动使用屏幕的软件。如果有人把它移植到python中,那就太酷了。我还没有在基于Debian的系统上研究过yetByobu。这个很简单
sudo apt安装自编python脚本
现在您甚至不需要使用编辑器!软件包只为您编写代码!