16

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

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

4

10 回答 10

22

将此行放入您的 .vimrc 文件中:

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

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

于 2009-08-19T17:24:01.537 回答
9

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

于 2009-08-19T17:16:14.720 回答
6

您可以从内部执行 shell 命令vim

于 2009-08-19T17:17:02.160 回答
5

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

于 2009-08-19T18:03:18.680 回答
5

使用带有 python 模式的 emacs,您可以使用 Cc Cc 执行脚本

于 2009-08-19T17:23:27.450 回答
2

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

于 2009-08-19T17:41:08.680 回答
1

您可以通过 ssh 运行XVNC,它实际上对执行此类操作具有相当的响应性,并为您提供窗口 GUI。我在新西兰的 Jetstart DSL 服务(128K up/128K down =8^P)上非常有效地做到了这一点,它对于 gvim 和 xterm 窗口的响应肯定足够。另一个选项是屏幕,它可以让您打开多个文本会话并在它们之间切换。

于 2009-08-19T17:17:28.273 回答
1

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

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

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

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

例如,我将 Mercurial 用于我的宠物项目,我只是在我的存储库准备好时标记它,并在我部署时将生产服务器更新为标记。在 devbox 上,我这样做:

  • (hack hack hack,测试测试测试)
  • hg ci -m '评论'
  • 汞标签
  • 汞推

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

  • 汞更新
  • 根据需要重新启动服务/网络服务器
于 2010-04-08T01:23:21.497 回答
0

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

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

于 2009-08-19T17:50:44.197 回答
0

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

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

安装命令screen

sudo apt-get install screen

该软件包有一些学习曲线,但如果您能记住包含所有知识screen的“”命令,这并不神秘。Ctrl-Alt ?不需要图形用户界面!

于 2021-04-03T21:09:51.543 回答