运行 `pip install` 的 Ubuntu 出现错误“无法构建以下必需的软件包:* freetype”
Posted
技术标签:
【中文标题】运行 `pip install` 的 Ubuntu 出现错误“无法构建以下必需的软件包:* freetype”【英文标题】:Ubuntu running `pip install` gives error 'The following required packages can not be built: * freetype' 【发布时间】:2013-12-30 06:28:00 【问题描述】:在执行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 吗?应该如何在 Ubuntu 12.04 中安装 freetype 以便它可以与 matplotlib
一起使用?
【问题讨论】:
【参考方案1】:没有。 pip
不会安装系统级依赖项。这意味着pip
不会安装 RPM(基于 Redhat 的系统)或 DEB(s)(基于 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:(通过Homebrew)
brew install freetype
在基于 Mac OS X 的系统上搜索软件包:
brew search <string>
例如:
brew search freetype
【讨论】:
抱歉,这几天叫freetype2
。已更新。
apt-get install freetype2-devel
也给出了同样的错误......难道是apt-get install freetype*
?那似乎要安装许多其他软件包
这可能也行 :) 抱歉,我相信它叫libfreetype2-devel
。我会再次更新我的答案:/
我认为-devel
约定适用于 RPM,-dev
约定适用于 DEB。试试apt-cache search '^libfreetype.*-dev$'
得到libfreetype6-dev
。
fwiw, brew install freetype
在 OSX 上帮助了我【参考方案2】:
我必须安装 libxft-dev 才能在 ubuntu 服务器 14.04 上启用 matplotlib。
sudo apt-get install libfreetype6-dev libxft-dev
然后我可以使用
sudo easy_install matplotlib
【讨论】:
在 Ubuntu 12.04 LTS 上,我还需要安装 libxft-dev。感谢您提供这些额外信息 为什么不直接使用这里推荐的 sudo apt-get install python-matplotlib :matplotlib.org/users/installing.html 我已经安装了 libfreetype6-dev。这对我在 ubuntu 14.10 上有所帮助,谢谢! libxft-dev 是为我做的!谢谢! 显然,这里真正的依赖是pkg-config
,libxft-dev
也作为依赖安装。所以,正确的答案是运行apt-get install libfreetype6-dev pkg-config
【参考方案3】:
一种解决方法是执行sudo apt-get install pkg-config
,我找到了in this github issue。
【讨论】:
安装pkg-config
对我来说也是缺少的不直观的步骤,这是在将matplotlib
安装在以ubuntu:14.04
作为基础映像的docker 容器中时。
这也为我在 virtualbox VM 上修复了它。看起来pkg-config
是虚拟机安装所需要的。【参考方案4】:
现有的答案都不适合我在 Ubuntu 上升级 matplotlib。这最终对我有用:
$ sudo apt-get install build-dep python-matplotlib
$ pip install matplotlib --upgrade
【讨论】:
【参考方案5】:此命令将下载所有依赖项。
对于 python 2.x
sudo apt-get install python-matplotlib
对于 python 3.x
sudo apt-get install python3-matplotlib
安装后可以试试
(sudo) pip install matplotlib
【讨论】:
【参考方案6】:在 Ubuntu 上,我安装了 blt-dev
包后它就可以工作了。
$sudo apt-get install blt-dev
$pip install matplotlib
【讨论】:
blt-dev 需要apt-get install libfreetype6-dev
才能运行,因此它会与 blt-dev 一起自动安装。【参考方案7】:
我正在使用 Mint,这些答案都不适合我,我需要:
sudo apt-get install build-essential g++
【讨论】:
【参考方案8】:我在 Windows 上使用 Python 3.6 时遇到了同样的问题,但后来我切换到 Python 3.5.2 并且一切正常。
【讨论】:
【参考方案9】:这个命令 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
所以我从source下载了安装的freetype,感谢guide
$ 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
,一切正常。
【讨论】:
以上是关于运行 `pip install` 的 Ubuntu 出现错误“无法构建以下必需的软件包:* freetype”的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu更换pip install,apt-get,conda install 成国内源
pip install py-find-1st 在 ubuntu20 和 centos 上使用 python3.9 失败