Ubuntu під керуванням `pip install` видає помилку 'Наступні необхідні пакети неможливо побудувати: * 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також встановлювати фрітейп? Як слід встановити фрітейп в Ubuntu 12.04, щоб він працював matplotlib?

Відповіді:


221

Ні. 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*? Схоже, хочеться встановити багато інших пакетів
Athena Wisdom

Це, мабуть, також буде працювати :) Вибачте, я вважаю, що це називається libfreetype2-devel. Я ще раз оновлю свою відповідь: /
James Mills

2
Я думаю, що -develконвенція призначена для RPM, а -devконвенція - для DEB. Спробуйте, apt-cache search '^libfreetype.*-dev$'що дає libfreetype6-dev.
Дітріх Епп

9
fwiw, brew install freetypeдопомогли мені на OSX
Nate

144

Мені довелося встановити 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. Дякую за цю додаткову інформацію
toom

3
Чому б безпосередньо не використовувати sudo apt-get install python-matplotlib, як рекомендується тут: matplotlib.org/users/installing.html
Тимо

2
У мене вже було встановлено libfreetype6-dev. Це допомогло мені на ubuntu 14.10, дякую!
wim

4
річ libxft-dev - це те, що зробило це для мене! Дякую!
TerminalDilettante

10
Мабуть, тут реальна залежність pkg-config, яка libxft-devтакож встановлюється як залежність. Отже, правильною відповіддю було б бігтиapt-get install libfreetype6-dev pkg-config
Карлес Сала

28

Вирішення, sudo apt-get install pkg-configяке я знайшов у цьому випуску Github .


3
Установка pkg-configбула для мене відсутнім неінтуїтивним кроком, це також при установці matplotlibв контейнер докера з ubuntu:14.04базовим зображенням.
SlimJim

Це також зафіксувало мене і на віртуальній машині VM. Схоже pkg-config, що потрібно для встановлення віртуальних машин.
Алма

6

Жодна з існуючих відповідей не працювала для мене, щоб оновити matplotlib на Ubuntu. Це те, що в кінцевому рахунку працює для мене:

$ 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

4

На Ubuntu він працював після того, як я встановив blt-devпакет.

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

blt-dev потрібно apt-get install libfreetype6-devзапустити, щоб він був автоматично встановлений з blt-dev.
Трістан

1

Я використовую монетний двір, жодна з цих відповідей не допомогла мені:

sudo apt-get install build-essential g++

1

У мене була така ж проблема з Python 3.6 у Windows, але потім я перейшов на 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

Тож я завантажив встановлений фрітейп із джерела , враховуючи це керівництво

$ 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і все працює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.