2014-03-02 35 views
0

我使用emacs24與python.el(包用emacs的運)運行配置Emacs的 - 的Python:

我的工作流程通常是這樣的:在tests.py

  1. 編寫Python代碼my_code.py
  2. 寫作考試
  3. 從命令行執行測試
  4. 轉到第1步

我想從shell中啓動tests.py而不離開emacs(或打開shell緩衝區),查看結果並繼續編碼。

到目前爲止,我只能找到在緩衝區中運行tests.py腳本的可能性(py-execute-buffer)。在這種情況下,解釋器會忽略if __name__ == '__main__'條件。也沒有辦法傳遞命令行參數。

有沒有辦法定義所謂的運行配置,即 「用n個命令行參數運行文件xy.py並在路徑x/y/z中使用解釋器」?

+0

我會把你用來在Makefile中運行測試的命令。並使用https://github.com/abo-abo/helm-make 在不離開緩衝區的情況下快速選擇製作目標。 –

回答

1

通用選項用於compile命令,您可以傳遞您想要執行的精確命令,並運行命令並將結果輸出到單獨的緩衝區中。這些錯誤是可點擊的,因此點擊它們會使您失敗的測試。如果還可以將其封裝在自定義命令中,以便您只需按下一個按鍵即可運行測試,但這當然取決於您的工作流程。

如果您使用nose進行測試,那麼請看nosemacs,它允許您從emacs運行鼻子測試。

+0

非常感謝。我看了一下他們的代碼,似乎使用'compile'命令。有沒有一種方便的方法來定義多個編譯命令? (比如運行配置測試和一個參數調用?) – ProfHase85

+0

我不知道我是否理解你的權利,所以這可能是不合適的。當你做'M-x編譯'它會要求執行命令。你問你是否可以定義自定義命令,以便直接運行給定的test_file(不需要再次輸入參數)? – 2014-03-03 14:32:25

+0

準確地說,或類似於不同的'Mx compile',然後在提示符下輸入'runco​​nf'或'testconf'或'create-egg' ... – ProfHase85