Ubuntu, выполняющая `pip install`, выдает ошибку '. Следующие требуемые пакеты не могут быть собраны: * freetype'

127

При выполнении 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?

Теги:
matplotlib
pip
python-2.7

8 ответов

206
Лучший ответ

Нет. 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
  • 0
    Получение ошибки Unable to locate package freetype-devel
  • 0
    Извините, это называется freetype2 эти дни. Обновлено.
Показать ещё 13 комментариев
125

Мне пришлось установить libxft-dev, чтобы включить matplotlib на сервере ubuntu 14.04.

sudo apt-get install libfreetype6-dev libxft-dev

И тогда я мог бы использовать

sudo easy_install matplotlib
  • 10
    На Ubuntu 12.04 LTS мне также нужно было установить libxft-dev. Спасибо за эту дополнительную информацию
  • 2
    +1: как раз то, что мне нужно ... спасибо
Показать ещё 4 комментария
30

Обходным путем является sudo apt-get install pkg-config, который я нашел в этой проблеме github.

  • 3
    установка pkg-config была для меня отсутствующим неинтуитивным шагом, это было при установке matplotlib в matplotlib контейнер с ubuntu:14.04 качестве базового образа.
  • 0
    Это также исправило это для меня на виртуальной машине VM. Похоже, что pkg-config - это то, что нужно для установки виртуальной машины.
6

Ни один из существующих ответов не помог мне обновить matplotlib на Ubuntu. Это то, что в конечном итоге работает для меня:

$ 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
4

В Ubuntu он работал после того, как я установил пакет blt-dev.

$sudo apt-get install blt-dev
$pip install matplotlib
  • 0
    Это сработало отлично!
  • 0
    Для запуска blt-dev требуется apt-get install libfreetype6-dev поэтому он автоматически устанавливается с помощью blt-dev.
1

Я использую Mint, и ни один из этих ответов не работал у меня, мне нужно:

sudo apt-get install build-essential g++
0

У меня была такая же проблема с Python 3.6 в Windows, но затем я переключился на Python 3.5.2, и все работает нормально.

Сообщество Overcoder
Наверх
Меню