epc(rpcstackforemacslisp)在python中的实现
epc的Python项目详细描述
链接:
- Documentation(阅读文档时)
- Repository(在github)
- Issue tracker(在github)
- PyPI
- Travis CI
其他资源:
- kiwanami/emacs-epc (在Emacs Lisp和Perl中实现客户机和服务器。)
- tkf/emacs-jedi (使用epc服务器的emacs的python完成。)
这是什么?
epc是emacs lisp的rpc堆栈,python epc是它的服务器端。 以及python中的客户端实现。使用python epc,您可以 从python轻松调用emacs lisp函数,从python调用python函数 埃马克。例如,可以使用python gui模块构建小部件 对于emacs(例如,请参见examples/gtk/server.py)。
python epc是针对python 2.6、2.7和3.2进行测试的。
用法
将以下代码另存为my-server.py。 (您可以在examples/echo/server.py中找到功能相同的代码):
from epc.server import EPCServer server = EPCServer(('localhost', 0)) @server.register_function def echo(*a): return a server.print_port() server.serve_forever()
然后从emacs运行以下代码。 这是包含在 python epcrepository.:
(require 'epc) (defvar my-epc (epc:start-epc "python" '("my-server.py"))) (deferred:$ (epc:call-deferred my-epc 'echo '(10)) (deferred:nextc it (lambda (x) (message "Return : %S" x)))) (message "Return : %S" (epc:call-sync my-epc 'echo '(10 40)))
如果安装了carton,则可以通过 只需键入以下命令:
make elpa # install EPC in a separated environment make run-sample # run examples/echo/client.el
例如双向通信和与GTK的集成, 见examples/gtk/server.py。您可以通过以下方式运行此示例:
make elpa make run-gtk-sample # run examples/gtk/client.el
许可证
python epc在gpl v3下获得许可。 有关详细信息,请参见复制。