用 Go 编写 Python 扩展
问题:
如何从 Python 调用 Go 例程并避免额外的一层C?
答案:
目前,如果没有外部库,这是不可能的。然而,从 Go 1.5 开始,可以构建 .so 对象并将其作为 Python 模块导入,从而允许直接从 Python 运行 Go 代码。
使用 Go 1.5 的解决方案:
- 创建一个具有所需功能的 Go 包。
- 从 Go 构建一个 .so 对象使用 go build 命令进行打包。
- 使用 importlib.import_module() 将 .so 对象作为 Python 模块导入。
使用 gopy 的替代解决方案:
- 安装 gopy 包。
- 创建 Go包含所需功能的软件包。
- 使用 gopy 从 Go 包生成 CPython 扩展模块。
- 使用 importlib.import_module() 将生成的扩展模块导入为 Python 模块。
以上是如何在不使用 C 的情况下从 Python 调用 Go 例程?的详细内容。更多信息请关注PHP中文网其他相关文章!