Ubuntu Python:无法 pip install dlib - dlib 构建轮失败,机器几乎卡住

Posted

技术标签:

【中文标题】Ubuntu Python:无法 pip install dlib - dlib 构建轮失败,机器几乎卡住【英文标题】:Ubuntu Python: unable to pip install dlib - Failed building wheel for dlib and machine is almost stuck 【发布时间】:2018-06-22 11:24:57 【问题描述】:

我正在尝试为我的 django python 环境安装 dlib(机器学习库)。但是,我无法安装它。有错误卡住了。

根据这个指令,这就是我所做的https://www.pyimagesearch.com/2017/03/27/how-to-install-dlib/

$ sudo apt-get install build-essential cmake
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libboost-all-dev

$ source somedotcomenv/bin/activate <-- virtualenv

$ pip install numpy
$ pip install scipy
$ pip install scikit-image
$ pip install dlib

但是,它失败了,我认为卡住了,在最后一个阶段差不多一个小时。我不确定它是否仍在编译。

  [ 82%] Building CXX object CMakeFiles/dlib_.dir/src/dlib.cpp.o
  In file included from /usr/include/boost/python/detail/prefix.hpp:13:0,
                   from /usr/include/boost/python/args.hpp:8,
                   from /usr/include/boost/python.hpp:11,
                   from /tmp/pip-build-8xkp8e7q/dlib/tools/python/src/dlib.cpp:4:
  /usr/include/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory
  compilation terminated.
  CMakeFiles/dlib_.dir/build.make:62: recipe for target 'CMakeFiles/dlib_.dir/src/dlib.cpp.o' failed
  make[2]: *** [CMakeFiles/dlib_.dir/src/dlib.cpp.o] Error 1
  CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/dlib_.dir/all' failed
  error: cmake build failed!

  ----------------------------------------
  Failed building wheel for dlib
  Running setup.py clean for dlib
Failed to build dlib
Installing collected packages: dlib
  Running setup.py install for dlib ... 

这里有完整的执行和错误日志https://gist.github.com/axilaris/fe58937e8ac39386e6e9816833636461

这是最后一个***进程,它卡住并不确定它是否仍在编译,但已经过了一个小时。有什么东西卡住了。即使尝试在另一个命令行上键入内容也非常慢。

PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                      
   30 root      20   0       0      0      0 S  9.2  0.0   6:21.82 kswapd0                                                                                      
 4550 deploy    20   0   95372    980      0 S  0.3  0.1   0:01.59 sshd                                                                                         
 4566 deploy    20   0  184852  14756    684 D  0.3  1.5   0:04.70 gunicorn                                                                                     
 4934 deploy    20   0  256084  15712     28 D  0.3  1.5   0:10.05 python3                                                                                      
 5646 deploy    20   0  757604 567016      0 D  0.3 55.9   0:29.41 cc1plus                                                                                      
 5770 postgres  20   0  294548   4808   2344 D  0.3  0.5   0:00.23 postgres                                                                                     
 5773 postgres  20   0  294384   4648   2244 D  0.3  0.5   0:00.17 postgres                                                                                     
 9531 root      20   0  280224   8360      0 S  0.3  0.8   1:06.10 snapd  

我正在使用 AWS ubuntu-xenial-16.04-amd64-server-20171026.1 (ami-da05a4a0)

【问题讨论】:

【参考方案1】:

尝试在此拉取请求 https://github.com/davisking/dlib/pull/1040 中使用 dlib 的版本。它消除了对 boost 的依赖,因此应该可以解决您的问题。

【讨论】:

谢谢。对不起(我是菜鸟),我如何获得这个版本?我要克隆最新的github.com/davisking/dlib.git 并运行> python setup.py install 谷歌“git克隆分支”。它会告诉你输入git clone -b pybind11 https://github.com/supervacuus/dlib.git 谢谢。我遵循了这个指示gist.github.com/piscisaureus/3342247。基本上是克隆和 git checkout pr/1040。我认为它仍在编译,但已经在最后一点停留了 15 分钟。 gist.github.com/axilaris/d2d5e28848a85e87f6a48898a8f97d35 类似于这个sourceforge.net/p/dclib/discussion/442518/thread/12152368。现在超过30分钟。顶部显示此imgur.com/a/OJjmO。是内存吗? aws 免费层 RAM 不够? 好的,它在更改 AWS EC2 而不是 t2.2xlarge 后工作。我认为它是 32GB 内存。【参考方案2】:

在 ubuntu20.04 dlib 19.22.0 上安装 dlib

git clone https://github.com/Universe-ML21/script_install_dlib.git
sudo chmod +x script_install_dlib/auto_dlib.sh
bash script_install_dlib/auto_dlib.sh

https://***.com/a/67294391/14309748

【讨论】:

【参考方案3】:

这对我有用。

pip 安装 cmake sudo pip install dlib

【讨论】:

以上是关于Ubuntu Python:无法 pip install dlib - dlib 构建轮失败,机器几乎卡住的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Python3、Ubuntu14.04 中使用 pip 安装 NumPy

无法找到包 python-pip Ubuntu 20.04

Ubuntu Python:无法 pip install dlib - dlib 构建轮失败,机器几乎卡住

如何在 Ubuntu 18 上为 python 3.7 安装 pip?

无法使用 Ubuntu 在 docker 容器中安装 pip 包

如何在 Ubuntu 20.04 上为 Python 3.9 安装 pip