【问题标题】:Emacs - Python: Run ConfigurationEmacs - Python:运行配置
【发布时间】:2014-03-02 15:33:55
【问题描述】:

我正在使用带有 python.el 的 emacs24(由 emacs 提供的软件包)

我的工作流程通常如下:

  1. my_code.py中编写python代码
  2. tests.py 中编写测试
  3. 从命令行执行测试
  4. 转到第 1 步

我想在不离开 emacs(或打开 shell 缓冲区)的情况下从 shell 启动 tests.py,以查看结果并继续编码。

到目前为止,我只能找到在缓冲区 (py-execute-buffer) 中运行 tests.py 脚本的可能性。在这种情况下,解释器会忽略if __name__ == '__main__' 条件。也没有办法传递命令行参数。

有没有办法定义所谓的运行配置,即 “运行带有 n 个命令行参数的文件 xy.py 并在路径 x/y/z 中使用解释器”?

【问题讨论】:

  • 我会将用于运行测试的命令放在 Makefile 中。并使用github.com/abo-abo/helm-make 快速选择一个make目标而不离开缓冲区。

标签: python emacs


【解决方案1】:

一个通用选项用于compile 命令,您可以将您要执行的确切命令传递给它,它会运行命令并将结果输出到单独的缓冲区中。这些错误是可单击的,因此单击它们将带您进行失败的测试。 If 也可以将其包装在自定义命令中,以便您只需按一下按键即可运行测试,但这当然取决于您的工作流程。

如果您使用nose 进行测试,请查看nosemacs,它允许您从 emacs 运行鼻子测试。

【讨论】:

  • 非常感谢。我查看了他们的代码,它似乎使用了compile 命令。有没有一种方便的方法来定义多个编译命令? (例如用于测试的运行配置和用于带参数的调用的配置?)
  • 我不确定我是否理解你的意思,所以这可能是不正确的。当您执行M-x compile 时,它确实要求执行命令。您是在问是否可以定义自定义命令,以便可以直接运行给定的 test_file(无需再次输入参数)?
  • 完全正确,或者类似 M-x compile 的其他名称,然后在提示符中输入 runconftestconfcreate-egg ...
  • 这在 elisp 中可能很容易难以定义,这取决于您对 elisp 的熟练程度。如果你在runconftestconf 中给我一个你想做什么的例子,我可以帮助你。这种功能的模板是(defun my-custom-command () (interactive) (compile "<your-shell-command>"))
猜你喜欢
  • 1970-01-01
  • 2019-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-13
  • 1970-01-01
  • 1970-01-01
  • 2016-02-05
相关资源
最近更新 更多