日期:2014-05-16  浏览次数:20540 次

linux 安装 py-leveldb
py-leveldb安装笔记

今天想测试一下py-leveldb,试试将小文件存储在这个数据库上的性能如何。但安装这个数据库的时候花了好长时间,svn里面的那个snappy一直无法编译。

下载py-leveldb:

svn checkout http://py-leveldb.googlecode.com/svn/trunk/ py-leveldb-read-only
下载过来的源代码里面会有一个snappy-read-only的目录,在ubuntu上编译的时候需要安装automake,libtool,autoconf这几个包:

sudo apt-get install autoconf libtool automake
执行snappy-read-only目录中的autogen.sh,但是一直提示我:

configure.ac:41: error: possibly undefined macro: AC_DEFINE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
查了半天也没找到个解决方法,后来直接去单独下了个snappy,删掉snappy-read-only,并解压下载过来的snappy,并将目录名改为snappy-read-only:

rm snappy-read-only -R -f
tar xvzf snappy-1.0.5.tar.gz
mv snappy-1.0.5 snappy-read-only
编辑compile_leveldb.sh文件,改成如下:

#!/bin/sh

(
        cd snappy-read-only;
        ./configure --enable-shared=no --enable-static=yes;
        make clean;
        make CXXFLAGS='-g -O2 -fPIC';
)

(
        cd leveldb-read-only;
        make clean;
        make OPT='-fPIC -O2 -DNDEBUG -DSNAPPY -I../snappy-read-only' SNAPPY_CFLAGS=''
)
然后运行一下./compile_leveldb.sh,会自动编译好leveldb和snappy。再执行下面命令安装好py-leveldb:

python setup.py build
sudo python setup.py install



转载出处:http://plotcup.com/a/68