登录
首页 >  Golang >  Go问答

在 Google App Engine 中使用 ctypes 来使用二进制文件?

来源:stackoverflow

时间:2024-03-16 11:54:28 356浏览 收藏

在 Google App Engine 中,使用 Python 2.7 运行时时,无法直接使用 ctypes 模块。这是因为 Python 2.7 运行时是高度沙箱化的,不允许访问底层系统资源。为了解决这个问题,建议使用 Python 3.7 运行时,它允许使用 ctypes 模块。通过使用 Python 3.7 运行时,您可以调用 Go 二进制文件并使用它们在 Google App Engine 上。

问题内容

我试图在 golang 和 python 之间进行接口。我长期以来一直是 python 的粉丝并且喜欢使用它。但随着时间的推移,我发现它对于进行计算等来说确实很糟糕。尤其是当可能涉及大量数据集时。

我开始学习 golang 主要是因为它的速度,并且正在考虑在我的应用程序中将它用作库。在 golang 中编写密集型代码,然后使用 python 库中的方法在 python 中编写漂亮的高级应用程序代码。

完成第一个原型后,我在 gae 中部署了代码。

不幸的是我碰到了这个

from ctypes import *
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/7679791231c143f9/python27/python27_dist/lib/python2.7/ctypes/__init__.py", line 7,
  in  from _ctypes import Union, Structure, Array
  ImportError: No module named _ctypes

我了解到 gae 不支持开箱即用的 python 实例 ctypes。但是有没有办法可以绕过这个问题并使用我的 go 二进制文件并在 gae 上使用它们?

我按照这个进行实现并将 go 与 python 连接 https://medium.com/learning-the-go-programming-language/calling-go-functions-from-other-languages-4c7d8bcc69bf


解决方案


您没有指定,但我猜您正在使用 Python 2.7 运行时,它是高度沙箱化的。使用 Python 3.7 运行时(更惯用)应该允许您使用 ctypes。

终于介绍完啦!小伙伴们,这篇关于《在 Google App Engine 中使用 ctypes 来使用二进制文件?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>