我遵循本教程来安装dlib,但是当我运行pip install dlib时
收集dlib 为收集的包使用缓存的dlib-19.4.0.tar.gz构建轮: dlib 运行setup.py bdist_wheel for dlib ..。错误 命令/home/leo/.virtualenvs/py3_dlib_tutorial/bin/python3 -u -c“,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(代码,文件,‘exec’)“bdist_wheel -d /tmp/tmpv2rhc6cbpip轮-python cp36: 运行bdist_wheel 运行构建 检测到的Python架构:64位 检测平台: linux 配置cmake ..。 /usr/bin/cmake: /home/leo/anaconda3 3/lib/libcurl.so.4:没有版本信息(/usr/bin/cmake需要) /usr/bin/cmake: /home/leo/anaconda3 3/lib/libstdc++.so.6:未找到版本
CXXABI\_1.3.9' not found (required by /usr/bin/cmake) /usr/bin/cmake: /home/leo/anaconda3/lib/libstdc++.so.6: versionGLIBCXX_3.4.20‘(/usr/bin/cmake要求) /usr/bin/cmake: /home/leo/anaconda3 3/lib/libstdc++.so.6:未找到版本GLIBCXX\_3.4.21' not found (required by /usr/bin/cmake) /usr/bin/cmake: /home/leo/anaconda3/lib/libstdc++.so.6: versionGLIBCXX_3.4.21‘(/usr/lib/x86_64-linux-gnu/libjsoncpp.so.1要求) 错误: cmake配置失败!
有什么建议怎么解决吗?
更新
我用的是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'更新
似乎是在此之前的修复导致了错误。
我在我的.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)发布于 2017-08-15 05:17:54
若要解决此错误:
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)您需要从Python3.6迁移到Python3.5。如果您使用的是anaconda,可以通过设置一个新环境来完成:
conda create -env_name python=3.5 anaconda
activate env_name
conda install -c menpo dlib 这应该是可行的,您的dlib也会正常工作的。
https://stackoverflow.com/questions/43783052
复制相似问题