今天在使用 python 安装 M2Crypto 模块的时候报错:
Command "python setup.py egg_info" failed with error code 1 in XXXXX
解决办法:
1. 检查python 的版本,python3 不支持 M2Crypto 模块(没试过) 我的 python 版本是:python2.7.5。
命令:# python -V
2. 检查 pip 和setuptools 的版本 和是否安装 ,为保证好使都检查一下,并升级。
命令: # python install --upgrade pip (pip 升级
)
# python install --upgrade setupTools ( setupTools 升级 )
下载完成后,移植到linux目录下,安装了 wget 的直接使用 wget 来安装。(不出意外的话会报同样的错,所以下载完成后不 安装)
3.1 解压安装包:
# tar -zxvf M2Crypto-0.27.0.tar.gz (压缩包)
3.2 进入解压完的压缩包:#
cd M2Crypto-0.27.0
3.3 找到一个文件 INSTALL.rst ,查看它会看到 已下的内容 ,安装这个软件必备的条件。
命令 :# cat INSTALL.rst
## 总结一下: python 版本 2.6及以上、OpenSSL 1.0.1 及以上、 SWIG 2.0.4及以上。
4. 查看 OpenSSL 版本 (我的没安装)
命令:openssl version -a
下载OPenSSL包:
https://www.openssl.org/source/
解压OPenSSL : #
tar -xzf
cd openssl-1.0.2.tar.gz
进入目录,安装OpenSSL :
#
cd openssl-1.0.2.
# ./config --prefix=/usr/local --openssldir=/usr/local/ssl
5.
在执行这句的时候报错: need perl -5
安装perl:官网下载新的perl 包:
http://www.perl.org/get.html
解压包:
# tar zxvf perl-5.12.2.tar.gz
进入源码目录:
# cd perl-5.12.2
指定安装目录:
# ./Configure -des -Dprefix=/usr/local/perl
安装
#
make
#
make test
#
make install
#
make clean:清除编译的产生的临时文件
替换系统原有的:
#
mv /usr/bin/perl /usr/bin/perl.bak
#
ln -s /usr/local/perl/bin/perl /usr/bin/perl
#
perl -v
6.
安装报错:gcc相关的错误。具体不太清晰了
安装gcc 方法类似可以使用yum 安装,或者和上面一样自己下载源码包,编译安装。
#
yum -y install gcc
# yum install gcc libffi-devel python-devel openssl-devel
继续安装 perl--> openssl-->uwig-->m2crypto 即可。
总结来说:就是找到安装失败的原因,一步一步的去分析、解决。