首页 > 后端开发 > Golang > 正文

无法在我的 python 文件中使用 go 共享库

WBOY
发布: 2024-02-09 08:00:21
转载
565人浏览过

无法在我的 python 文件中使用 go 共享库

php小编小新你好,最近有读者在使用python文件时遇到了一个问题,他无法在自己的python文件中使用go共享库。这个问题可能是由于一些配置或环境问题导致的。在解决这个问题之前,你可以尝试检查你的环境变量和路径设置,确保你的go共享库正确安装并且路径正确设置。另外,你还可以尝试重新安装或更新你的go共享库,以确保它与你的python版本兼容。如果问题仍然存在,你可以考虑在相关的开发社区或论坛上寻求帮助,那里可能有其他开发者遇到过类似的问题并可以提供解决方案。希望这些信息对你有帮助!

问题内容

我有一个名为 main.go 的文件,它定义了一个名为 test 的函数。 我希望能够从我的 python 脚本中调用这个函数。

ma​​in.go

package main

import "C"

// export test
func test() int {
    return 1
}

func main() {}
登录后复制

编译: go build -o lib.so -buildmode=c-shared main.go

ma​​in.py

import ctypes

mylib = 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 main

import "C"

//export test      <------ remove the extra space here
func test() int {
    return 1
}

func main() {}
登录后复制
python main.py
登录后复制

输出:

1
登录后复制

以上就是无法在我的 python 文件中使用 go 共享库的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:stackoverflow网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号