php小编小新你好,最近有读者在使用python文件时遇到了一个问题,他无法在自己的python文件中使用go共享库。这个问题可能是由于一些配置或环境问题导致的。在解决这个问题之前,你可以尝试检查你的环境变量和路径设置,确保你的go共享库正确安装并且路径正确设置。另外,你还可以尝试重新安装或更新你的go共享库,以确保它与你的python版本兼容。如果问题仍然存在,你可以考虑在相关的开发社区或论坛上寻求帮助,那里可能有其他开发者遇到过类似的问题并可以提供解决方案。希望这些信息对你有帮助!
问题内容
我有一个名为 main.go 的文件,它定义了一个名为 test 的函数。我希望能够从我的 python 脚本中调用这个函数。
main.go
package mainimport "C"// export testfunc test() int { return 1}func main() {}
登录后复制
编译:go build -o lib.so -buildmode=c-shared main.go
main.py
import ctypesmylib = ctypes.CDLL("./lib.so")result = mylib.test()print(result)
登录后复制
当我运行 python 程序时,出现以下错误:AttributeError:./lib.so:未定义符号:test
我错过了什么?
立即学习“Python免费学习笔记(深入)”;
Go版本go版本go1.21.3 linux/amd64
Python 版本:Python 3.10.12
我尝试更新 Go(之前我的版本是 1.21.1)
解决方法
除了 //export 之外,一切都是正确的有一个额外的空间造成了问题
package mainimport "C"//export testpython main.py登录后复制
输出:
1登录后复制
以上就是无法在我的 python 文件中使用 go 共享库的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2484903.html