web-dev-qa-db-fra.com

Ubuntu 14.04, pip ne peut pas mettre à niveau matplotllib

Lorsque j'essaie de mettre à niveau mon matplotlib à l'aide de pip, il génère:

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

Dans la queue du journal, il est écrit:

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

Pourquoi a-t-il échoué? Merci beaucoup!

50
astroboylrx

Il s'agit d'un bogue connu qui a été corrigé ( https://github.com/matplotlib/matplotlib/pull/3414 ) sur le maître.

Le bogue concerne la gestion de la recherche d’une installation freetype . Si vous installez le paquet Linux freetype-dev, vous éviterez ce bogue et pourrez compiler matplotlib.

Sudo apt-get install libfreetype6-dev
74
tacaswell

Sur le serveur Ubuntu 14, vous devez également installer libxft-dev.

Sudo apt-get install libfreetype6-dev libxft-dev
68

J'ai eu les mêmes problèmes en essayant d'installer matplotlib sur Python 3 en utilisant pip3, et il semble que ce problème soit lié à une installation complète de Python 3, et en effectuant une:

Sudo apt-get build-dep matplotlib

suivi par

Sudo pip3 install matplotlib 

est probablement une meilleure solution que d’installer sélectivement uniquement les bibliothèques associées à matplotlib.

12
tchakravarty

Puisque mac n’a pas apt-get vous, sur OSX, vous devrez peut-être faire:

brew install freetype

alors vous pouvez lancer:

pip install matplotlib
3
Chase Roberts

Si vous exécutez le serveur Ubuntu 14.04, vous devriez ajouter cette dépendance de polices.

Sudo apt-get install libxft-dev

Source

1
Ahmed Hamed

Trouvé cette page en cherchant la réponse pour Fedora 24.

La solution RPM est:

dnf install freetype-devel

1
Artem Gromov

Cela a fonctionné pour moi:

python -m pip install -U pip setuptools
python -m pip install matplotlib

Pour plus de détails, suivez: https://matplotlib.org/2.0.0/users/installing.html

0
Saurabh Singh

J'essayais aussi de mettre à jour directement à l'aide du pip Sudo mais les modifications ne sont pas enregistrées en dernier. Donc, je commence par utiliser update cmd in terminal:

Sudo apt-get update

alors j'ai utilisé Sudo install:

Sudo apt-get install libffi-dev

Enfin son installé en faisant cette méthode.

0
Rochan

Pour les utilisateurs de Fedora 25 utilisant ce fil, j'avais besoin de ces deux packages pour le faire fonctionner:

Sudo dnf install freetype-devel gcc-c++
0
Jean Spector