环境: python2.7
首先明确,pypi 中已经没有mcrypt的资源,不能直接用pip2安装, 倒是有一个python2-mcrypt, 但是不符合要求。
然后就是源码安装,这里同通流程:
先去http://www.sourceforge.net下载Libmcrypt,mhash,mcrypt,python-mcrypt安装包
- Libmcrypt(libmcrypt-2.5.8.tar.gz )
- mcrypt(mcrypt-2.6.8.tar.gz )
- mhash(mhash-0.9.9.9.tar.gz )
- python-mcrypt
安装Libmcrypt
# tar -zxvf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8
# ./configure
# make
# make install
说明:libmcript默认安装在/usr/local
安装mhash
# tar -zxvf mhash-0.9.9.9.tar.gz
# cd mhash-0.9.9.9
# ./configure
# make
# make install
安装mcrypt
# tar -zxvf mcrypt-2.6.8.tar.gz
# cd mcrypt-2.6.8
# LD_LIBRARY_PATH=/usr/local/lib/ ./configure -with-libmcrypt-prefix=/usr/local
# make
# make install
由于在配置Mcrypt时,会找不到libmcrypt的链接库,导致无法编译,因为Libmcrypt的链接库在/usr/local/文件夹下。因些在配置mcrypt时要加入LD_LIBRARY_PATH=/usr/local导入键接库
最后安装python-mcrypt
# tar -zxvf python-mcrypt-1.1.tar.gz
# cd python-mcrypt-1.1
# python2.7 setup.py install
问题
mac 上
mac上有时会在make时有错误:rfc2440.c:26:20: error: malloc.h: No such file or directory,修改 rfc2440.c:#include <malloc.h>为#include <sys/malloc.h>, 重新make/make install即可
rfc2440.c 文件的在 mcrypt-2.6.8/src 里面
centos6 上
在 centos6上会出现 如下错误:
ImportError: libmcrypt.so.4: cannot open shared object file: No such file or directory
这时需要执行如下命令:
# ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4