Pip встановлення Matplotlib помилка з virtualenv


106

Я намагаюся встановити matplotlib в новому virtualenv.

Коли я роблю:

pip install matplotlib

або

pip install http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/matplotlib-1.1.0.tar.gz

Я отримую цю помилку:

building 'matplotlib._png' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -  DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/usr/local/include -I/usr/include -I. -I/home/sam/django-projects/datazone/local/lib/python2.7/site-packages/numpy/core/include -I. -I/usr/include/python2.7 -c src/_png.cpp -o build/temp.linux-x86_64-2.7/src/_png.o

src/_png.cpp:10:20: fatal error: png.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1

Хтось має уявлення про те, що відбувається?

Будь-яка допомога дуже цінується.


2
Ви також можете побачити, The following required packages can not be built: freetype, pngяка саме помилка в (я думаю) новій версії pip.
LondonRob

Відповіді:


177

Створення Matplotlib вимагає libpngfreetype, як добре), що не є бібліотекою пітонів, тому pipне обробляє його встановлення (або freetype).

Вам потрібно буде встановити щось уздовж рядків libpng-develта freetype-devel(або будь-який еквівалент для вашої ОС).

Дивіться будівельні вимоги / інструкції для matplotlib.


44
Дякую за інформацію! Я , нарешті , отримав це працює шляхом установки наступних залежностей в Убунту: libpng-dev, libjpeg8-dev, libfreetype6-dev.
Darwin Tech

37
sudo apt-get build-dep python-matplotlibтакож робить трюк!
грисаїт

2
Це може спрацювати, але зауважте, що він хоче встановити досить багато пакетів (більше, ніж вміщається в цьому полі для коментарів), але близько 0,6 ГБ варті пакетів.
Ахал Дейв

18
У моїй системі debian (wheezy / нестабільна) вона виходила з ладу навіть із libfreetype6-devвстановленою. Виявилося, що мені теж потрібно pkg-configвстановити.
Джон

У мене фактично встановлено libfreetype6-dev на ubuntu 14.04. Матплотліб, здається, не бере його.
тутука


30

Оскільки я двічі боровся з цією проблемою (навіть після встановлення нового kubuntu 15.04) і встановлення фрітипу нічого не вирішило, я дослідив далі.

Рішення:
З питання github:

Ця помилка виникає лише в тому випадку, якщо pkg-config не встановлено;
простий
sudo apt-get install pkg-config
буде наразі включати шляхи включення.

Після цього установка проходить безперебійно.


Те ж саме. pip install matplotlib дав мені помилку: IMPORTANT WARNING: pkg-config is not installed. matplotlib may not be able to find some of its dependencies.Freetype показує, що не встановлено. Я щойно зробив brew install pkg-configі зміг обійтись.
Лілія

Це також проблема Bash on Ubuntu на Windows Insider Preview
Jens de Bruijn

27

Як доповнення, на Amazon EC2, що мені потрібно зробити:

sudo yum install freetype-devel
sudo yum install libpng-devel
sudo pip install matplotlib

6
Рекомендується встановити пакет у віртуальне середовище, що робить pipце приємно. Отже, sudo pip installзаперечує більшу частину корисності, яку приносить піп до столу.
Роман

8

На OSX я зміг отримати встановлення matplotlib через:

pip install matplotlib==1.4.0

тільки після того, як я побіг:

brew install freetype


2
sudo apt-get install libpng-dev libjpeg8-dev libfreetype6-dev

працював для мене на Ubuntu 14.04


Мені sudo apt-get install pkg-configспочатку потрібно було .
jpcgt

@RahulChauhan: Будь ласка, розмістіть своє альтернативне рішення як окрему відповідь, а не намагайтеся редагувати його у чужій відповіді.
Ільмарі Каронен

0

Жоден із перерахованих вище відповідей не працював для мене в Монетному дворі, тому я зробив:

sudo apt-get install build-essential g++

0

Якщо на MacOSx, спробуйте

xcode-select --install

Це відповідає subprocess 32, причина невдачі.


0

Щоб зменшити необхідні пакети для встановлення, вам просто потрібно

apt-get install -y \
    libfreetype6-dev \
    libxft-dev && \
    pip install matplotlib

і ви отримаєте такі пакунки, які встановлені локально

Collecting matplotlib
  Downloading matplotlib-2.2.0-cp35-cp35m-manylinux1_x86_64.whl (12.5MB)
Collecting pytz (from matplotlib)
  Downloading pytz-2018.3-py2.py3-none-any.whl (509kB)
Collecting python-dateutil>=2.1 (from matplotlib)
  Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
  Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56kB)
Requirement already satisfied: six>=1.10 in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages (from matplotlib)
Collecting cycler>=0.10 (from matplotlib)
  Downloading cycler-0.10.0-py2.py3-none-any.whl
Collecting kiwisolver>=1.0.1 (from matplotlib)
  Downloading kiwisolver-1.0.1-cp35-cp35m-manylinux1_x86_64.whl (949kB)
Requirement already satisfied: numpy>=1.7.1 in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages (from matplotlib)
Requirement already satisfied: setuptools in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg (from kiwisolver>=1.0.1->matplotlib)
Installing collected packages: pytz, python-dateutil, pyparsing, cycler, kiwisolver, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.0.1 matplotlib-2.2.0 pyparsing-2.2.0 python-dateutil-2.6.1 pytz-2018.3

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