python2.7 M2Crypto包安装相关问题

文章讲述了在Python2.7环境下安装m2crypto时遇到的常见问题,包括openssl版本兼容性、头文件路径设置以及如何解决SWIG编译错误。提供了解决这些问题的方法,如指定全局选项和环境变量设置。
摘要由CSDN通过智能技术生成

相关环境:python2.7, macos
其他注意:python2.7版本下仅支持最高m2crypto=0.27.0的版本
相关依赖:
1. swig=3.0.12(官网提示最高到4.0.0,建议使用3.0.12)
2. openssl=1.1(不要使用openssl@3和@4的版本)


如果报错如下信息


SWIG/_m2crypto.i:62: Error: Unable to find 'openssl/opensslv.h'
SWIG/_m2crypto.i:68: Error: Unable to find 'openssl/safestack.h'
SWIG/_evp.i:12: Error: Unable to find 'openssl/opensslconf.h'
SWIG/_rc4.i:5: Error: Unable to find 'openssl/opensslconf.h'
SWIG/_ec.i:7: Error: Unable to find 'openssl/opensslconf.h'

一般是openssl路径不对,pip安装的时候需要指定下路径

 pip install --global-option=build_ext --global-option="-I/usr/local/opt/openssl/include" m2crypto==0.27.0

注意:openssl地址需要替换

如果报错如下信息

 /usr/local/opt/openssl@1.1/include/openssl/e_os2.h:258: Error: Unable to find 'stdint.h'

openssl旧版本中移出了stdint.h文件,可以使用opensslv.h文件替代,需要更新e_os2.h文件中内容

#  include <stdint.h>替换如下内容
#  include <openssl/opensslv.h>

如果openssl和swig报错

  1. 请重新安装openssl和swig版本,并查看最高支持的python版本是多少
  2. openssl默认的安装地址不正确,需要ln软连接到/usr/local/opt目录下
  3. whick可以查看使用openssl版本,如果不正确,可以重新安装
    3.1 如果路径不正确,需要export指定路径,或者修改.bashrc文件
  4. openssl和swig可以自己去官网下载安装包自定义安装,不建议使用brew安装
export CFLAGS="-I/usr/local/opt/openssl/include"
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export SWIG_PATH=/usr/local/share/swig/3.0.12
export PATH=$PATH:$SWIG_PATH

export CFLAGS=/usr/local/opt/openssl@1.1/include
export PATH=$PATH:$CFLAGS

export LDFLAGS=/usr/local/opt/openssl@1.1/lib
export PATH=$PATH:$LDFLAGS

其他信息

swig官网:https://www.swig.org/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值