将emacs缓冲区发送到任意Python进程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将emacs缓冲区发送到任意Python进程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1393字,纯文字阅读大概需要2分钟。
内容图文
![将emacs缓冲区发送到任意Python进程](/upload/InfoBanner/zyjiaocheng/965/bf334d094d644a63b289603b06fce334.jpg)
我喜欢python-send-buffer命令,但是我经常使用嵌入在应用程序中的Python,或者通过自定义包管理系统启动Python(以启动具有某些依赖性的Python).换句话说,我不能只运行“ python“并获得一个有用的Python实例(python-send-buffer依赖的东西)
我想要实现的是:
>在任何Python解释器(或允许您评估Python代码的应用程序)中,导入magic_emacs_python_server.py模块(根据需要附加到sys.path)
>在emacs中,运行magic-emacs-python-send-buffer
这将评估远程Python实例中的缓冲区.
看起来它应该非常简单 – Python模块在线程中侦听套接字.它在主线程中进行求值,并返回结果的repr()(或者可能捕获stdout / stderr,或者两者都可以). emacs模块只是将文本发送到套接字,等待响应中的字符串,并将其显示在缓冲区中.
听起来很简单这样的事情必须已经存在…… IPython有ipy_vimserver,但这是错误的方法.还有swank,虽然它看起来很Lisp特定,有a Javascript backend看起来非常像我想要的…但搜索几乎没有发现,除了一些模糊(可能是真的)声称SLIME不能很好地与非-Lisp语言
简而言之:
>是否存在将代码从emacs缓冲区发送到现有Python进程的项目?
>如果没有,你会怎么建议我写这样的东西(不熟悉elisp) – SWANK? IPython的服务器代码?简单的TCP服务器从头开始?
解决方法:
comint为这样的东西提供了大部分基础设施.有很多很好的例子,比如this或this
它允许您运行命令,提供comint-send-string以轻松实现send-region类型命令.
dbr/remoterepl on Github是我在问题中描述的粗略的概念验证.
它没有任何抛光,但它主要工作 – 您在目标解释器中导入replify.py模块,然后在将愚蠢的硬编码路径修复为client.py后评估emacs-remote-repl.el
内容总结
以上是互联网集市为您收集整理的将emacs缓冲区发送到任意Python进程全部内容,希望文章能够帮你解决将emacs缓冲区发送到任意Python进程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。