这听起来可能很奇怪,但我需要一种更好的方法来构建 python 脚本,而不是使用 nano/vi 打开文件、更改某些内容、退出编辑器,然后python script.py
一遍又一遍地输入。
我需要在没有任何 gui 的网络服务器上构建脚本。有什么想法可以改善我的工作流程吗?
将此行放入您的 .vimrc 文件中:
:map <F2> :w\|!python %<CR>
现在点击<F2>
将保存并运行您的python脚本
您应该看一下屏幕实用程序。虽然它不是 IDE,但它是终端上的某种窗口管理器——也就是说,您可以拥有多个窗口并在它们之间切换,这使得特别是这样的任务变得更加容易。
您可以从内部执行 shell 命令 。vim
你可以试试ipython。使用它的编辑命令,它会打开你的编辑器(nano/vim/etc),你编写你的脚本,然后在退出时你会返回到 ipython 提示符并且脚本会自动执行。
使用带有 python 模式的 emacs,您可以使用 Cc Cc 执行脚本
在控制台上使用 Vim 时,我发现在 Vim 中使用“选项卡”,而不是让多个 Vim 实例在后台暂停,可以更有效地处理 Vim 中的多个文件。这需要一点时间来适应,但效果非常好。
实际上有2个问题。第一个是轮询 python 的控制台 IDE,第二个是更好的开发/测试/部署工作流程。
虽然有很多方法可以在控制台中编写 python 代码,但我发现 screen、vim 和 python/ipython 的组合是最好的,因为它们通常在大多数服务器上都可用。如果您进行长时间的会话,我发现 emacs + python-mode 通常涉及较少的输入。
为了更好的工作流程,我建议设置一个开发环境。这些天,您可以轻松地在台式机/笔记本电脑上轻松设置 Linux VM - 即使是用于业余项目,也没有理由不这样做。这为您提供了更多可用的 IDE,例如:
我还将设置一个 SCM 来跟踪更改,以便您进行更好的 QA 并使用它将测试更改部署到服务器上。
例如,我将 Mercurial 用于我的宠物项目,我只是在我的存储库准备好时标记它,并在我部署时将生产服务器更新为标记。在 devbox 上,我这样做:
然后我跳到服务器并在部署时执行以下操作:
好吧,除了使用功能更强大的控制台编辑器之一(我会想到 Emacs 或 vi),为什么必须在 Web 服务器本身上编辑它?如果持续的 FTP/WebDAV 传输看起来很麻烦,只需远程编辑它。
Emacs 有Tramp Mode,Linux 上的 gedit 和 Mac 上的 bbedit 也支持远程编辑。可能还有相当多的其他编辑。在这种情况下,您只需在功能更强大的桌面上进行编辑,然后从 shell 窗口重新启动脚本。
值得一提的是,仅 VIM 就可以完成与之前发布的相同的任务。我在从命令行测试 Python 时遇到了同样的问题。
我的解决方案是使用screen
命令。我垂直分割屏幕,在一个 shell 实例中运行 Python,在第二个屏幕上,我通常使用 VIM 编辑 Python 代码。
安装命令screen
:
sudo apt-get install screen
该软件包有一些学习曲线,但如果您能记住包含所有知识screen
的“”命令,这并不神秘。Ctrl-Alt ?
不需要图形用户界面!