winows下要使用cython,官方推荐用的是visual studio,众所周知,宇宙第一IDE太笨重了,那能不能像linux下一样,用gcc呢,答案是肯定的~
首先下载gcc,MinGW-w64 - for 32 and 64 bit Windows
下载完解压,把 当前文件夹mingw64bin和当前文件夹mingw64x86_64-w64-mingw32lib,配置到环境变量PATH里,不明白可以了解一下配置环境变量~
然后我们这里的python使用的是Anaconda的
假设我们重新创建一个环境
conda create -n python37 python=3.7
激活环境
activate python37也有可能是conda activate python37或者source activate python37,根据提示输入即可
然后要下载python的库文件
可以先尝试一下conda install -c anaconda libpython
不知道什么原因我这边会一直停留在solving environment这里,所以只能手动下载然后安装
https://anaconda.org/anaconda/libpython/files
下载相应版本,我这里是python3.7,然后conda libpython-2.1-py37_0.tar.bz2,稍等片刻就安装完毕
之后根据https://blog.csdn.net/huachao1001/article/details/88253977,这篇博客给的demo做了个测试,测试中会遇到一个bug,是报hypot没有定义,找到cmath里的using::hypot
这句,然后在这之前加上#define hypot _hypot
,当然改c++的源码可能会让某些c++程序不能通过编译,我们也可以找到anaconda所在文件夹下的envspython37includepyconfig.h找到 #define hypot _hypot
注释掉(在前面加//)
然后根据demo,就可以测试通过
参考资料:
'::hypot' has not been declared
MinGW-w64 - for 32 and 64 bit Windows
https://blog.csdn.net/huachao1001/article/details/88253977
Welcome to Cython’s Documentation
cython/cython