如何在mac os x上安装leveldb

问题描述 投票:3回答:4

我试图在我的python项目中使用级别db。我把注意力集中在python绑定PlyVel http://plyvel.readthedocs.org/en/latest/installation.html上,这似乎更好地维护并记录了python绑定。

但是plyvel的安装失败了

plyvel / _plyvel.cpp:359:10:致命错误:找不到'leveldb / db.h'文件

#include“leveldb / db.h”

所以我相信我必须在我的机器上安装leveldb。我没有为macosx找到leveldb的安装指南。我已经下载了leveldb的tarball,https://code.google.com/p/leveldb/downloads/list。 Make文件编译代码,但plylevel仍然失败。我应该如何编译级别数据库,使其二进制文件可用于plyvel。

python leveldb
4个回答
9
投票

在Mac OS X上安装leveldb的最简单方法是使用homebrew

With homebrew你只需要运行:

brew install leveldb

2
投票

在OS X中,似乎/usr/local/include,leveldb头文件(db.h)存在,gcc不可见。

您需要安装Apple命令行工具:

xcode-select --install

plyvel将在此之后编译。

Link to GH issue。似乎是OS X问题。


0
投票

我不熟悉leveldb,但大多数直接二进制安装要求你在实际安装二进制文件之前运行./configure然后make然后运行make install。你应该试试。

另外,根据这个github页面你应该可以用gem安装它:https://github.com/DAddYE/leveldb


0
投票

如jAlpedrinha所述

在Mac OS X上安装leveldb的最简单方法是使用自制软件。

使用自制软件,您只需运行:

brew install leveldb

您还需要安装gcc或clang。如果安装这里提到的python绑定有问题,https://github.com/wbolster/plyvel/issues/95

更改你的pylvel setup.py并添加像这样的extra-compile-args

if platform.system() == 'Darwin':
     extra_compile_args += ['-mmacosx-version-min=10.7', '-stdlib=libc++', '-Wall', '-g', '-x', 'c++', '-std=c++11']

现在pip安装sphinx,可能你现在将面临这个错误,gcc:error:plyvel / _plyvel.cpp:没有这样的文件或目录

理由和解决方案:

Plyvel uses cython to bind the leveldb C++ implementation to python. 
So when you're using the setup script, you have to make sure that plyvel 
cython modules have been compiled to .cpp files.

To do that just run make it will handle this opeartion for you. 
Just make sure you have sphinx installed : pip install sphinx

Once make is run, you can safely python setup.py install. 
© www.soinside.com 2019 - 2024. All rights reserved.