如何与后台Python实例进行通信?

时间:2014-04-04 01:45:22

标签: python linux testing vim background-process

环境序言:

我在Linux上用Vim for Maya编写Python代码。我正在使用nose进行测试发现和执行,我正在使用它的属性插件来装饰仅限Maya的测试类。我在Vim中使用映射来运行常规Python中的非Maya测试,Maya通过Maya的mayapy可执行文件进行测试,这使我可以访问场景和maya.cmds模块。

实际问题:

每次我点击我的in-Maya测试Vim映射时,

mayapy需要6秒才能启动。这真的很乏味。非Maya测试的发生速度和我的映射速度一样快。它帮助我从Maya中抽出更多的东西,以避免那种微小的,全天的痛苦,但我仍然喜欢它消失了。 6秒开始感觉很长一段时间。在Vim中有异步工作的技巧,但我不想在没有看到我的测试通过的情况下继续前进。我问过Autodesk(Maya的制造商),他们说启动时没有办法。

问题:

我想要我想要的是在后台启动mayapy,然后当我点击我的Vim映射时,让它连接到等待的Python实例并调用{{ 1}}命令。我觉得nose.run()是要走的路,但我不确定这些细节。我该怎么做(通过mkfifo或其他方式)?

1 个答案:

答案 0 :(得分:1)

我假设mayapy就像一个repl,你可以像上面提到的nose.run()那样点击命令。如果是这种情况,我建议使用vim插件tslime,它允许您将内容从vim缓冲区发送到另一个tmux窗格/窗口。