解决Mac安装M2Crypto提示无法找到openssl头文件问题

大概是这种问题

running build running build_py running build_ext building'M2Crypto.__m2crypto'extension swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c swig-python-I/usr/include/python2.7-I/usr/include-includeall-modern-builtin-outdir build/lib.linux-i686-2.7/M2Crypto-o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i SWIG/_evp.i:12:Error:Unableto find'openssl/opensslconf.h'SWIG/_ec.i:7:Error:Unableto find'openssl/opensslconf.h'error:command'swig'failedwithexit status1

由于OSX升级之后连 /usr/include都没有了,使用命令

​xcode-select--install​

安装xcode命令行工具,多装几次/usr/include就会回来

然而里面还是没有 openssl

然后另外安装openssl 的时候会发现并没有把头文件ln到 /usr/include 里面,无卵用,/usr/include 还是一个不可更改的系统目录

但是我们留意到安装​M2Crypto的时候报错的地方是提示 swig 语句有问题,于是可以修改swig 的寻址路径,如下,妥了:

sudo env LDFLAGS="-L$(brew --prefix openssl)/lib" \

CFLAGS="-I$(brew --prefix openssl)/include" \

SWIG_FEATURES="-cpperraswarn -includeall -I$(brew --prefix openssl)/include" \

pip install m2crypto

亲测成功

相关推荐