Emacs - Python: 运行配置

0 投票
1 回答
572 浏览
提问于 2025-04-17 20:31

我正在使用 emacs24 和 python.el(这是 emacs 自带的一个包)

我的工作流程通常是这样的:

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

我希望能在不离开 emacs(或者不打开一个 shell 窗口)的情况下,从 shell 启动 tests.py,这样我就可以看到结果并继续编码。

到目前为止,我只找到了一种方法可以在缓冲区中运行 tests.py 脚本(使用 py-execute-buffer)。但是这样做时,解释器会忽略 if __name__ == '__main__' 这个条件。而且也无法传递命令行参数。

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

1 个回答

1

一个常见的选择是使用 compile 命令,你可以传递你想执行的具体命令,它会运行这个命令并把结果输出到一个单独的区域。错误信息是可以点击的,点击后会带你到出错的测试位置。如果你想的话,还可以把这个命令包装成一个自定义命令,这样你只需按一个键就能运行测试,不过这当然要看你的工作流程。

如果你使用 nose 进行测试,可以看看 nosemacs,它可以让你在 emacs 中运行 nose 测试。

撰写回答