EPC (Emacs Lisp的RPC堆栈)的Python实现
项目描述
链接
其他资源
kiwanami/emacs-epc(在Emacs Lisp和Perl中的客户端和服务器实现。)
tkf/emacs-jedi(使用EPC服务器为Emacs提供Python补全。)
这是什么?
EPC是Emacs Lisp和Python-EPC的RPC堆栈及其Python端的客户端和服务器实现。使用Python-EPC,您可以从Python调用Emacs Lisp函数,从Emacs调用Python函数。例如,您可以使用Python GUI模块为Emacs构建小部件(例如,请参阅examples/gtk/server.py中的示例)。
Python-EPC针对Python 2.6、2.7和3.2进行了测试。
安装
要安装Python-EPC及其依赖项sexpdata,请运行以下命令。
pip install epc
用法
将以下代码保存为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-EPC仓库中包含的examples/echo/client.el的一个简化版本。
(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许可。有关详细信息,请参阅COPYING。
项目详情
关闭
epc-0.0.5.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a14d2ea74817955a20eb00812e3a4630a132897eb4d976420240f1152c0d7d25 |
|
MD5 | de54a24ace8a9b3f5b2d8f014b8c4a42 |
|
BLAKE2b-256 | 55aef7b329fa2bc9932a416e8846e78e06ce3e13a20e5c3f2cf80a18f489dec1 |