You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行go get安装go-python3时遇Py_True等未定义引用错误求助

链接DataDog go-python3库时出现Py_True/Py_None/Py_False未定义引用错误

环境配置

  • Ubuntu 20.04
  • Golang 1.9.2
  • Python 3.7.10

我尝试使用DataDog的go-python3库,执行go get github.com/DataDog/go-python3时失败。之前找到过类似的问题案例,但其中的解决方案对我无效。

用go get -x查看编译过程,发现链接阶段报错:

mininet@mininet-vm:~/go/src/Dockerfiles$ go get -x github.com/DataDog/go-python3
...
pkg-config --cflags python3
pkg-config --libs python3
CGO_LDFLAGS="-g" "-O2" "-L/opt/py/lib" "-lpython3.7m" /usr/local/go/pkg/tool/linux_amd64/cgo -objdir 
...
# github.com/DataDog/go-python3
/usr/bin/ld: $WORK/github.com/DataDog/go-python3/_obj/_cgo_main.o:/tmp/go-build/github.com/DataDog/go-python3/_obj/cgo-generated-wrappers:236: undefined reference to `Py_True'
/usr/bin/ld: $WORK/github.com/DataDog/go-python3/_obj/_cgo_main.o:/tmp/go-build/github.com/DataDog/go-python3/_obj/cgo-generated-wrappers:233: undefined reference to `Py_None'
/usr/bin/ld: $WORK/github.com/DataDog/go-python3/_obj/_cgo_main.o:/tmp/go-build/github.com/DataDog/go-python3/_obj/cgo-generated-wrappers:230: undefined reference to `Py_False'
collect2: error: ld returned 1 exit status

我已经通过pkg-config配置了PKG_CONFIG_PATH和LD_LIBRARY_PATH环境变量,确认-L/opt/py/lib -lpython3.7m已经正确添加到CGO_LDFLAGS末尾。

我怀疑过Golang 1.9版本过旧,但目前看起来核心是链接问题。在VM和Docker环境中都重试过,问题完全一致,恳请帮忙排查原因。

内容的提问来源于stack exchange,提问作者WJT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:11:09