运行`pip install`的Ubuntu给出错误'无法构建以下必需的软件包:* freetype'


145

执行时pip install -r requirements.txt,在安装阶段出现以下错误matplotlib

REQUIRED DEPENDENCIES AND EXTENSIONS
                 numpy: yes [not found. pip may install it below.]
              dateutil: yes [dateutil was not found. It is required for date
                        axis support. pip/easy_install may attempt to
                        install it after matplotlib.]
               tornado: yes [tornado was not found. It is required for the
                        WebAgg backend. pip/easy_install may attempt to
                        install it after matplotlib.]
             pyparsing: yes [pyparsing was not found. It is required for
                        mathtext support. pip/easy_install may attempt to
                        install it after matplotlib.]
                 pycxx: yes [Couldn't import.  Using local copy.]
                libagg: yes [pkg-config information for 'libagg' could not
                        be found. Using local copy.]
              freetype: no  [pkg-config information for 'freetype2' could
                        not be found.]

...

The following required packages can not be built:

                    * freetype

还不应该pip install -r requirements.txt安装freetype吗?freetype应该如何在Ubuntu 12.04中安装以便与它一起使用matplotlib

Answers:


221

否。pip不会安装系统级别的依赖项。这意味着pip将不会安装RPM(基于Redhat的系统)或DEB(基于Debian的系统)。

要安装系统依赖项,您将需要根据系统使用以下方法之一。

Ubuntu / Debian:

apt-get install libfreetype6-dev

要在基于Ubuntu / Debian的系统上搜索软件包:

apt-cache search <string>

例如:

apt-cache search freetype | grep dev

Redhat / CentOS / Fedora:

yum -y install freetype-devel

要在基于Redhat / CentOS / Fedora的系统上搜索软件包:

yum search <string>

例如:

yum search freetype | grep devel

Mac OS X的:通过自制

brew install freetype

在基于Mac OS X的系统上搜索软件包:

brew search <string>

例如:

brew search freetype

对不起,freetype2这几天来。更新。
詹姆斯·米尔斯

apt-get install freetype2-devel也会给出相同的错误...可能是apt-get install freetype*吗?那似乎想安装许多其他软件包
Athena Wisdom

可能也可以使用:)对不起,我相信它叫做libfreetype2-devel。我将再次更新我的答案:/
James Mills

2
我认为该-devel约定适用于RPM,该-dev约定适用于DEB。尝试apt-cache search '^libfreetype.*-dev$'给出libfreetype6-dev
Dietrich Epp 2013年

9
fwiw,brew install freetype在OSX上帮助了我
Nate

144

我必须安装libxft-dev才能在ubuntu服务器14.04上启用matplotlib。

sudo apt-get install libfreetype6-dev libxft-dev

然后我可以使用

sudo easy_install matplotlib

10
在Ubuntu 12.04 LTS上,我还需要安装libxft-dev。感谢您提供此额外信息
-Toom

3
为什么不按照这里的建议直接使用sudo apt-get install python-matplotlib:matplotlib.org/users/installing.html
Timo

2
我已经安装了libfreetype6-dev。这在ubuntu 14.10上对我有帮助,谢谢!
2014年

4
libxft-dev的事情对我来说是什么!谢谢!
TerminalDilettante

10
显然,这里的真正依赖项是pkg-config,它libxft-dev也将作为依赖项安装。因此,正确的答案是跑步apt-get install libfreetype6-dev pkg-config
Carles Sala 2015年

28

sudo apt-get install pkg-config在此github问题中发现一种解决方法。


3
pkg-config对于我来说,安装也是缺少的不直观的步骤,这是在作为基本映像matplotlib的docker容器中安装时进行的ubuntu:14.04
SlimJim 2015年

这也为我在virtualbox VM上修复了它。看起来pkg-config是虚拟机安装所需要的。
Alma

6

现有的答案都无法在Ubuntu上升级matplotlib。这最终对我有用:

$ sudo apt-get install build-dep python-matplotlib
$ pip install matplotlib --upgrade

6

此命令将下载所有依赖项。

对于python 2.x

sudo apt-get install python-matplotlib

对于python 3.x

sudo apt-get install python3-matplotlib

安装后,您可以尝试

(sudo) pip install matplotlib


1

我正在使用Mint,但以下答案均不适合我,我需要:

sudo apt-get install build-essential g++

1

我在Windows上使用Python 3.6时遇到了同样的问题,但是后来我切换到Python 3.5.2,一切正常。


0

这个命令sudo apt-get install libfreetype6-dev对我来说在Ubuntu 16.04上失败了,
The following packages have unmet dependencies: libfreetype6-dev : Depends: libfreetype6 (= 2.6.1-0.1ubuntu2) but 2.6.1-0.1ubuntu2.3 is to be installed

因此,我从源代码下载了已安装的freetype ,请参考本指南

$ tar -xvjf freetype-x.y.tar.bz2  # extract the downloaded version file
$ cd freetype-x.y/ 
$ ./configure
$ make
$ sudo make install 

切换到virtualenv并且pip install matplotlib一切正常。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.