ubuntu 14.04, pip cannot upgrade matplotllib

匿名 (未验证) 提交于 2019-12-03 02:08:02

问题:

When I try to upgrade my matplotlib using pip, it outputs:

Downloading/unpacking matplotlib from https://pypi.python.org/packages/source/m/matplotlib/matplotlib-1.4.0.tar.gz#md5=1daf7f2123d94745feac1a30b210940c   Downloading matplotlib-1.4.0.tar.gz (51.2MB): 51.2MB downloaded   Running setup.py (path:/tmp/pip_build_root/matplotlib/setup.py) egg_info for package matplotlib     ============================================================================     Edit setup.cfg to change the build options      BUILDING MATPLOTLIB                 matplotlib: yes [1.4.0]                     python: yes [2.7.6 (default, Mar 22 2014, 22:59:38)  [GCC                             4.8.2]]                   platform: yes [linux2]      REQUIRED DEPENDENCIES AND EXTENSIONS                      numpy: yes [version 1.8.2]                        six: yes [using six version 1.7.3]                   dateutil: yes [using dateutil version 2.2]                    tornado: yes [using tornado version 4.0.1]                  pyparsing: yes [using pyparsing version 2.0.2]                      pycxx: yes [Couldn't import.  Using local copy.]                     libagg: yes [pkg-config information for 'libagg' could not                             be found. Using local copy.]     Traceback (most recent call last):       File "<string>", line 17, in <module>       File "/tmp/pip_build_root/matplotlib/setup.py", line 154, in <module>         result = package.check()       File "setupext.py", line 940, in check         if 'No such file or directory\ngrep:' in version:     TypeError: argument of type 'NoneType' is not iterable     Complete output from command python setup.py egg_info:     ============================================================================  Edit setup.cfg to change the build options    BUILDING MATPLOTLIB              matplotlib: yes [1.4.0]                  python: yes [2.7.6 (default, Mar 22 2014, 22:59:38)  [GCC                          4.8.2]]                platform: yes [linux2]    REQUIRED DEPENDENCIES AND EXTENSIONS                   numpy: yes [version 1.8.2]                     six: yes [using six version 1.7.3]                dateutil: yes [using dateutil version 2.2]                 tornado: yes [using tornado version 4.0.1]               pyparsing: yes [using pyparsing version 2.0.2]                   pycxx: yes [Couldn't import.  Using local copy.]                  libagg: yes [pkg-config information for 'libagg' could not                          be found. Using local copy.]  Traceback (most recent call last):    File "<string>", line 17, in <module>    File "/tmp/pip_build_root/matplotlib/setup.py", line 154, in <module>      result = package.check()    File "setupext.py", line 940, in check      if 'No such file or directory\ngrep:' in version:  TypeError: argument of type 'NoneType' is not iterable  ---------------------------------------- Cleaning up... Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/matplotlib Storing debug log for failure in /home/username/.pip/pip.log 

In the tail of the log it says:

Exception information: Traceback (most recent call last):   File "/usr/local/lib/python2.7/dist-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main     status = self.run(options, args)   File "/usr/local/lib/python2.7/dist-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 278, in run     requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)   File "/usr/local/lib/python2.7/dist-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1229, in prepare_files     req_to_install.run_egg_info()   File "/usr/local/lib/python2.7/dist-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 325, in run_egg_info     command_desc='python setup.py egg_info')   File "/usr/local/lib/python2.7/dist-packages/pip-1.5.6-py2.7.egg/pip/util.py", line 697, in call_subprocess     % (command_desc, proc.returncode, cwd)) InstallationError: Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/matplotlib 

Why did it fail? Many thanks!

回答1:

This is a known bug that has been fixed (https://github.com/matplotlib/matplotlib/pull/3414) on master.

The bug is in the handling of searching for a freetype installation. If you install the Linux package freetype-dev, you will avoid this bug and be able to compile matplotlib.

sudo apt-get install libfreetype6-dev 


回答2:

On Ubuntu 14 server, you also need to install libxft-dev

sudo apt-get install libfreetype6-dev libxft-dev 


回答3:

I had the same issues trying to install matplotlib on Python 3 using pip3, and it seems that this problem is related to a bare-bones installation of Python 3, and doing a:

sudo apt-get build-dep matplotlib 

followed by

sudo pip3 install matplotlib  

is probably a better solution than selectively installing only the libraries related to matplotlib.



回答4:

Since mac doesn't have apt-get you, on OSX you may need to do:

brew install freetype 

then you can run:

pip install matplotlib 


回答5:

Found this page while looking answer for fedora 24.

RPM solution is:

dnf install freetype-devel



回答6:

If you re running Ubuntu server 14.04 u should add this font dependency

sudo apt-get install libxft-dev 

Source



回答7:

I was trying too update directly using sudo pip but changes are not saved in last. So i first use update cmd in terminal:

sudo apt-get update 

then i used sudo install:

sudo apt-get install libffi-dev 

Finally its installed by doing this method.



回答8:

For those on Fedora 25 hitting this thread, I needed these two packages to make it work:

sudo dnf install freetype-devel gcc-c++ 


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!