Ubuntu 18.04 + Pycharm-community + Anaconda 3 + Python 3.7 + dlib 19.19
二、错误详情:Traceback (most recent call last):
File "", line 1, in
File "/home/#用户名已屏蔽#/软件/pycharm-community-2019.3.3/plugins/python-ce/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
File "/home/#用户名已屏蔽#/软件/pycharm-community-2019.3.3/plugins/python-ce/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/home/#用户名已屏蔽#/pycharm project/PalmRecognition/test_detector.py", line 30, in
win_det = dlib.image_window()
AttributeError: module 'dlib' has no attribute 'image_window'
三、出错原因:
出现这个错误的原因是在编译dlib库时缺少libx11环境。本人是下载包自行编译的,pip安装等其他方法安装dlib库的请自行参考。
四、解决方法在编译dlib库之前安装libx11环境,安装语句:
sudo apt-get install libx11-dev
五、详细解决过程:
(一)我安装dlib库的过程
虽然使用了Anaconda,但是在解释器的包库里并没有找到dlib(只有r-dlib,并不清楚是什么,从版本号来看看显然不是dlib库),所以只能自行安装dlib库。但是opencv在解释器的包库里,可以在Pycharm里一键安装。
安装boost并从github克隆dlib库(自行安装git包)sudo apt-get install libboost-all-dev
git clone https://github.com/davisking/dlib.git
过程可能略慢
build编译2(自行安装cmake包)cd dlib
mkdie bulid; cd build
cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=1; cmake --bulid
使用CPU的AVX加速,不使用GPU加速
安装cd ..
python setup.py install
(二)我的解决过程
先卸载dlib库
pip uninstall dlib
由于我是在外部编译,再安装到Anaconda Python环境里的,卸载完之后在终端里还可以导入,尚不清楚原因。
安装libx11环境sudo apt-get install libx11-dev
根据已经编译的build文件夹(只进行(一).3过程),重新安装cd ..
的意思是回到上一级文件夹,也就是退出/dlib/build文件夹,进入/dlib根文件夹,不要无脑复制粘贴http://tieba.baidu.com/p/5567688487
https://github.com/davisking/dlib/issues/302
https://sourceforge.net/p/dclib/discussion/442518/thread/78ba4b7b/?limit=25
其实也就是百度“module ‘dlib’ has no attribute ‘image_window’”的前三条结果
———————————————————————————————————————————————————————
本人新手,在校学生,刚接触ubuntu和python
非常感谢CSDN上各路大佬的帖子,感觉要回馈社区,所以写了这第一篇CSDN博客
这个问题的相关帖子比较少,特地写一下
欢迎咨询,不定期查看回复