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 ต้องการlibpng(และfreetypeเช่นกัน) ซึ่งไม่ใช่ไลบรารี python ดังนั้นจึงpipไม่จัดการการติดตั้ง (หรือfreetype)

คุณจะต้องติดตั้งบางอย่างตามบรรทัดlibpng-develและfreetype-devel(หรือสิ่งที่เทียบเท่าสำหรับระบบปฏิบัติการของคุณ)

ดูข้อกำหนดอาคาร / คำแนะนำสำหรับ matplotlib


44
ขอบคุณสำหรับข้อมูล! libpng-devในที่สุดผมก็มีมันทำงานโดยการติดตั้งการอ้างอิงต่อไปนี้ในอูบุนตู: libjpeg8-dev, libfreetype6-dev,
Darwin Tech

37
sudo apt-get build-dep python-matplotlibยังมีเคล็ดลับ!
grisaitis

2
อาจใช้งานได้ แต่โปรดทราบว่าต้องการติดตั้งแพ็คเกจจำนวนมาก (เกินกว่าที่จะใส่ลงในช่องแสดงความคิดเห็นนี้ได้) แต่มีแพ็คเกจประมาณ 0.6 GB
Achal Dave

18
ในระบบเดเบียน (เสียงดัง / ไม่เสถียร) ของฉันมันล้มเหลวแม้ว่าจะlibfreetype6-devติดตั้งแล้วก็ตาม ปรากฎว่าฉันต้องpkg-configติดตั้งด้วย
จอน

จริงๆแล้วฉันมี libfreetype6-dev ที่ติดตั้งบน Ubuntu 14.04 Matplotlib ดูเหมือนจะไม่ได้หยิบมันขึ้นมา
tutuca


30

เนื่องจากฉันได้ต่อสู้กับปัญหานี้สองครั้ง (แม้หลังจากติดตั้ง kubuntu 15.04 ใหม่) และการติดตั้ง freetype ไม่ได้แก้ปัญหาอะไรฉันจึงตรวจสอบเพิ่มเติม

วิธีแก้ปัญหา:
จากปัญหา 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 บน 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ปฏิเสธประโยชน์ส่วนใหญ่ที่ pip นำมาสู่โต๊ะ
โรมัน

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: โปรดโพสต์โซลูชันทางเลือกของคุณเป็นคำตอบแยกต่างหากแทนที่จะพยายามแก้ไขเป็นคำตอบของคนอื่น
Ilmari Karonen

0

คำตอบข้างต้นไม่ได้ผลสำหรับฉันใน Mint ดังนั้นฉันจึงทำ:

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.