在Gin项目中定义Services用以唤起Python,值得注意的是需要在引入Python.h前使用#cgo
声明依赖库
package cpython
// #cgo CFLAGS: -I"Q:/Sill-/anaconda/envs/poetry/include"
// #cgo LDFLAGS: -L"Q:/Sill-/anaconda/envs/poetry/libs" -lpython311
// #include <Python.h>
import "C"
type Cpython struct{}
func (cp *Cpython) Torch() {
C.Py_Initialize()
code := "print('hello world')"
C.PyRun_SimpleString(C.CString(code))
C.Py_Finalize()
}
将该Service绑定路由后,执行项目。本地如果使用conda注意切换激活python版本。
注意设置本地CPATH环境变量,值为python对应版本根目录下includes/
路径。
如果无法正常运行,可尝试:
- 设置或修改环境变量
PYTHONHOME
和PYTHONPATH
为python对应版本根目录下includes/
路径。 - 检查本地gcc是否能正常使用。