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

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

10 ответов

Решение

Нет. 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: (через Homebrew)

brew install freetype

Для поиска пакетов в системах на основе Mac OS X:

brew search <string>

например:

brew search freetype

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

sudo apt-get install libfreetype6-dev libxft-dev

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

sudo easy_install matplotlib

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

Эта команда загрузит все зависимости.

Для Python 2.x

sudo apt-get install python-matplotlib

Для Python 3.x

sudo apt-get install python3-matplotlib

После установки вы можете попробовать

(sudo) pip install matplotlib

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

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

На Ubuntu все заработало после установки blt-dev пакет.

$sudo apt-get install blt-dev
$pip install matplotlib

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

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

sudo apt-get install build-essential g++

Эта команда 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 и все работает.

Я последовал ответу Джеймса Миллса, чтобы установить freetype. Но все равно, хотя фритайп был установлен, программа все равно глючила. Я полагаю, это произошло из-за того, что программа не смогла найти путь к файлу freetype. Следующая команда решила проблему.

      sudo apt-get install pkg-config

Я нашел это решение на https://github.com/matplotlib/matplotlib/issues/3029/

Другие вопросы по тегам