【发布时间】:2017-10-02 15:26:13
【问题描述】:
我跟着 this tutorial 安装 dlib,但是当我运行 pip install dlib 时,我得到了
收集dlib
使用缓存的 dlib-19.4.0.tar.gz 为收集的包构建轮子:dlib
为 dlib 运行 setup.py bdist_wheel ... 错误
命令 /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:
运行 bdist_wheel
运行构建
检测到的 Python 架构:64 位
检测到的平台:linux
正在配置 cmake ...
/usr/bin/cmake: /home/leo/anaconda3/lib/libcurl.so.4: 没有可用的版本信息(/usr/bin/cmake 需要)
/usr/bin/cmake: /home/leo/anaconda3/lib/libstdc++.so.6: 找不到版本“CXXABI_1.3.9”(/usr/bin/cmake 需要)
/usr/bin/cmake: /home/leo/anaconda3/lib/libstdc++.so.6: 找不到版本“GLIBCXX_3.4.20”(/usr/bin/cmake 需要)
/usr/bin/cmake: /home/leo/anaconda3/lib/libstdc++.so.6: 找不到版本“GLIBCXX_3.4.21”(/usr/bin/cmake 需要)
/usr/bin/cmake: /home/leo/anaconda3/lib/libstdc++.so.6: 找不到版本“GLIBCXX_3.4.21”(/usr/lib/x86_64-linux-gnu/libjsoncpp.so 需要.1)
错误:cmake 配置失败!
有什么建议可以解决这个问题吗?
更新
我使用的是 ubuntu 16.04
我还注意到,当我运行 sudo pip install dlib 时它可以工作,但是
然后我得到 p>
(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'
更新
似乎在此之前的修复导致了错误
我在我的 .bashrc 中禁用了这一行
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/leo/anaconda3/lib
这是使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)
【问题讨论】:
-
您是否安装了 dlib 必备软件?你用的是什么操作系统?
-
如果您已经安装了先决条件,请尝试安装 boost python。
sudo apt install libboost-all-dev然后尝试pip install dlib -
libboost-all-dev 已经是已安装的最新版本(1.58.0.1ubuntu1)...
-
你的cmake版本是多少?
-
使用 cmake --version 我得到同样的错误,但 sudo apt-get install cmake 说 cmake 已经是最新版本(3.5.1-1ubuntu3)。
标签: c++ python-3.x c++11 cmake dlib