使用pip install leveldb时出现错误 [英] I got error when using pip install leveldb
问题描述
当我在MAC中使用pip install leveldb时,出现以下错误,我搜索了整个互联网,没有任何回复,我的python env是2.7,让我不高兴的是我可以成功使用Homebrew安装,任何人都可以帮助我,这将有所帮助.
When I used pip install leveldb in my MAC I got the error below, I searched the whole internet without any reply I could take with, my python env is 2.7, what made me upset is I could use Homebrew install is successfully, anyone can help me on that will be helpful.
Collecting leveldb
Downloading https://files.pythonhosted.org/packages/ec/c1/ca3b4199bd4073e6430076f1edd8061f2f548e831eeddc3cbc077ebaa0ca/leveldb-0.194.tar.gz (228kB)
100% |████████████████████████████████| 235kB 377kB/s
Installing collected packages: leveldb
Running setup.py install for leveldb ... error
Complete output from command /Users/crowncao/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-install-0duq9nmj/leveldb/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/tmp/pip-record-q32ow6u8/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_ext
building 'leveldb' extension
creating build
creating build/temp.macosx-10.7-x86_64-3.7
creating build/temp.macosx-10.7-x86_64-3.7/snappy
creating build/temp.macosx-10.7-x86_64-3.7/leveldb
creating build/temp.macosx-10.7-x86_64-3.7/leveldb/db
creating build/temp.macosx-10.7-x86_64-3.7/leveldb/table
creating build/temp.macosx-10.7-x86_64-3.7/leveldb/util
creating build/temp.macosx-10.7-x86_64-3.7/leveldb/port
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/crowncao/anaconda3/include -arch x86_64 -I/Users/crowncao/anaconda3/include -arch x86_64 -I/Users/crowncao/anaconda3/include/python3.7m -c ./snappy/snappy.cc -o build/temp.macosx-10.7-x86_64-3.7/./snappy/snappy.o -I./leveldb/include -I./leveldb -I./snappy -I. -fno-builtin-memcmp -O2 -fPIC -DNDEBUG -DSNAPPY -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX -Wno-error=unused-command-line-argument-hard-error-in-future
warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from ./snappy/snappy.cc:29:
./snappy/snappy.h:43:10: fatal error: 'string' file not found
#include <string>
^~~~~~~~
2 warnings and 1 error generated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/Users/crowncao/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-install-0duq9nmj/leveldb/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/tmp/pip-record-q32ow6u8/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/tmp/pip-install-0duq9nmj/leveldb/
推荐答案
从错误消息中可以看到,找不到标准库的stdlibc++
实现.可以通过使用stdc++
实现来解决"此问题.一种方法是在pip install
之前修改标志CPPFLAG
:
As you can see from the error message, the stdlibc++
implementation of the standard library cannot be found. One can 'resolve' this issue by instead using the stdc++
implementation. One way of doing this is by amending the flag CPPFLAG
prior to your pip install
:
export CPPFLAGS="-stdlib=libc++"
这篇关于使用pip install leveldb时出现错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!