go是支持调用python代码的,之前写了几篇linux的部署教程,因为觉得windows的不复杂就没有写,结果今天新部署一个Windows的环境,有些步骤想不起来了,好记性不如烂笔头,还是记录一下吧。
这些是之前写的linux环境的,有兴趣的可以看看:
Ubuntu在线配置:golang调用python环境
Ubuntu离线配置:golang调用python环境
Anolis和CentOS配置:golang调用python环境
想要go调用python,那么安装的python版本必须是3.7的,Windows和linux都一样,高了低了都不行,我一般windows用的3.7.9版本,linux用的3.7.13版本,不知道以后会不会改,但至少目前只能是3.7版本,go的版本好像没什么限制,我的go从1.16到1.21版本都可以。
1.安装gcc,已经安装好的同学跳过此步骤
gcc官网下载
安装步骤很简单,我就懒得记录了,安装到自己想要的路径后,配置环境变量就行
gcc -v查询版本,有版本就安装成功了
2.安装python3.7
python官网下载
安装步骤还是省略,这个不难,主要是注意安装路径就行了
安装完成后配置环境变量,路径根据自己实际情况配置:
在path中添加:
进入cmd验证:
查询python版本
python --version
查询pip版本
pip --version
3.安装pkg-config,这一步挺重要的,没有弄好的话,程序不能打包编译
windows可以通过choco去安装,所以就要先安装choco,choco官网安装教程
choco安装好后,打开cmd运行命令安装pkg
choco install pkgconfiglite
然后配置pkg-config环境,自定义一个文件夹pkg_config,我一般是放在d盘的,这个根据自己情况自定义,在文件夹中新建名为"python3.pc"的文件,然后填写以下内容,注意python路径根据自己实际情况填写:
PYTHON_HOME=D:/jobs/python/python-3.7.9
lib=${PYTHON_HOME}
include=${PYTHON_HOME}/include
Name: Python
Description: Python library
Requires:
Version: 3.7
Libs: -L${lib} -lpython37 -lpthread -lm
Cflags: -I${include} -DMS_WIN64
配置环境变量
最后进入cmd,设置环境变量,主要是以下几个,其他的都是默认的,一般不需要改:
set GO111MODULE auto
set GOOS windows
set CGO_ENABLED 1
到这里,go调用python的编译环境就配置完了,有代码的可以试试能不能成功打包编译。