跳转到主要内容

EPC (Emacs Lisp的RPC堆栈)的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 (18.0 kB 查看哈希值)

上传时间

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面