为 python 模块创建 golang 绑定

Chr*_*ris 10 python binding cpython go

我想为现有的(第三方)Python 模块编写 golang 绑定。目的是想使用Golang中Python模块提供的API。

我已经找到了 Python 的 C API 的 golang 绑定(py3 的go-python3和 py2 的go-python),但我仍然没有弄清楚如何将相对复杂的 Python 模块转换为 Golang(即如何处理类型安全在python中寻找不安全的输入和返回等)。

什么是好的方法?该领域是否有任何预先存在的工具?有没有关于 Python 代码的 Golang 绑定的好例子?(我找不到很多 tbh)。

Von*_*onC 5

我想使用 Python 模块在 Golang 中提供的 API。

最近在Miki Tebeka 的Python 和 Go:第一部分-gRPC ”中详细介绍了从 Go 调用 Python 。 你可以看到一个例子
ardanlabs/python-go/grpc

但是,如他们接下来的两篇文章所示,您还可以:

  • 将 Go 代码编译到共享库中,并从 Python 交互式 shell 中使用它。
  • 使用 Python 模块隐藏使用共享库的低级细节,然后将此代码打包为 Python 包。

https://www.ardanlabs.com/images/goinggo/124_figure1.png

完整示例:ardanlabs/python-go/pyext.

  • @Rudu 谢谢你。我很惊讶 https://meta.stackoverflow.com/a/396071/6309 中报告的这个问题尚未解决。与此同时,我所要做的就是将png保存为jpg,这样就失去了透明效果。我已经编辑了答案并重新上传了图片,现在可以在深色模式下阅读。 (2认同)