2017-05-04 327 views
2

我跟着this tutorial安装DLIB但是当我运行pip install dlib我得到错误而安装DLIB

Collecting dlib

Using cached dlib-19.4.0.tar.gz Building wheels for collected packages: dlib

Running setup.py bdist_wheel for dlib ... error

Complete output from command /home/leo/.virtualenvs/py3_dlib_tutorial/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-4luevi_i/dlib/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/tmpv2rhc6cbpip-wheel- --python-tag cp36:

running bdist_wheel

running build

Detected Python architecture: 64bit

Detected platform: linux

Configuring cmake ...

/usr/bin/cmake: /home/leo/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)

/usr/bin/cmake: /home/leo/anaconda3/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/bin/cmake)

/usr/bin/cmake: /home/leo/anaconda3/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/bin/cmake)

/usr/bin/cmake: /home/leo/anaconda3/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/bin/cmake)

/usr/bin/cmake: /home/leo/anaconda3/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libjsoncpp.so.1)

error: cmake configuration failed!

任何建议,如何解决呢?

更新

我使用Ubuntu 16.04

还什么我发现是,当我运行sudo pip install dlib它的工作原理,但 然后我得到

(py3_dlib_tutorial) ~$ python 
Python 3.6.0 |Continuum Analytics, Inc.| (default, Dec 23 2016, 12:22:00) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import dlib 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ModuleNotFoundError: No module named 'dlib' 

更新

看起来像修理公关IOR这在我的.bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/leo/anaconda3/lib

这是necessery使mkvirtualenv工作造成我禁用此行的错误

。 现在pip install dlib的工作,但我仍然得到类似的错误

python 
Python 3.6.0 |Anaconda custom (64-bit)| (default, Dec 23 2016, 12:22:00) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import dlib 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/leo/anaconda3/lib/python3.6/site-packages/dlib/__init__.py", line 1, in <module> 
    from .dlib import * 
ImportError: /home/leo/anaconda3/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libboost_python-py35.so.1.58.0) 
+0

你有没有安装dlib的先决条件?和你在用什么操作系统? – tso

+0

如果你已经安装了先决条件,请尝试安装boost python。 'sudo apt install libboost-all-dev',然后尝试'pip install dlib' – tso

+0

libboost-all-dev已经是已经安装的最新版本(1.58.0.1ubuntu1)... –

回答

1

要解决此错误:

python 
Python 3.6.0 |Anaconda custom (64-bit)| (default, Dec 23 2016, 12:22:00) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import dlib 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/home/leo/anaconda3/lib/python3.6/site-packages/dlib/__init__.py", line 1, in <module> 
from .dlib import * 
ImportError: /home/leo/anaconda3/bin/../lib/libstdc++.so.6: version  `GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux- 
gnu/libboost_python-py35.so.1.58.0) 

你需要在Python 3.6移动到Python 3.5。 如果使用的是森蚺,它可以通过设置新的环境中进行:

conda create -env_name python=3.5 anaconda 
activate env_name 
conda install -c menpo dlib 

这应该工作,你将有你的DLIB工作的罚款。