12 votes

Comment mettre à jour python setuptools> 12.2 sur ubuntu 15.04

Le package apt semble être en version 12.2

Si j'exécute sudo pip install -U setuptools la version semble toujours bloquée à 12.2

$ python
>>> import pkg_resources
>>> r = pkg_resources.require(["setuptools"])[0]
>>> print("setuptools version: %s" % r.version)
setuptools version: 12.2

[EDIT]

Je viens de remarquer qu'il ne va pas écraser la version d'OS de setuptools:

Téléchargement/ installation de pip à partir de https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.2-py2.py3-none-any.whl#md5=5ff9fec0be479e4e36df467556deed4d
  Téléchargement de pip-7.1.2-py2.py3-none-any.whl (1.1MB): 1.1MB téléchargé
Téléchargement/installation de setuptools à partir de https://pypi.python.org/packages/3.4/s/setuptools/setuptools-18.3.2-py2.py3-none-any.whl#md5=58c1e15fe0c124ab0880a2691f232434
  Téléchargement de setuptools-18.3.2-py2.py3-none-any.whl (462kB): 462kB téléchargé
Installation des paquets collectés: pip, setuptools
  Installation existante trouvée: pip 1.5.6
    Pas de désinstallation de pip à /usr/lib/python2.7/dist-packages, détenu par le système d'exploitation
  Installation existante trouvée: setuptools 12.2
    Pas de désinstallation de setuptools à /usr/lib/python2.7/dist-packages, détenu par le système d'exploitation
Installation réussie de pip et setuptools
Nettoyage...

[/EDIT]

20voto

A.B. Points 84870
  1. Supprimez la version du dépôt

    sudo apt-get remove python-setuptools
  2. Si nécessaire, réinstallez pip

    wget https://bootstrap.pypa.io/get-pip.py
    sudo -H python get-pip.py
  3. Installez setuptools via pip

    sudo -H pip install -U pip setuptools

Et maintenant, recommencez votre test

% python
Python 2.7.9 (default, Apr  2 2015, 15:33:21) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pkg_resources
>>> r = pkg_resources.require(["setuptools"])[0]
>>> print("setuptools version: %s" % r.version)
setuptools version: 18.3.2

Note

L'installation de tout paquet dépendant de python-setuptools ou python-pip les réinstallera, vous devrez donc peut-être répéter cette procédure !

3voto

kynan Points 2111

La solution proposée par A.B. pourrait ne pas être tout à fait suffisante : dans les versions récentes de setuptools, pkg_resources est un package, alors qu'auparavant c'était juste un seul module.

Mettre à jour setuptools de la manière décrite laissera un fichier pkg_resources.py{c} obsolète, ce qui pourrait entraîner l'erreur suivante lors de l'importation de setuptools:

AttributeError: 'module' object has no attribute 'packaging'

Pour le supprimer, faites ce qui suit :

  1. Découvrez où se trouve le module pkg_resources obsolète :

    $ python -c 'import pkg_resources; print(pkg_resources.__file__)'
    /usr/lib/python2.7/dist-packages/pkg_resources.pyc
  2. Supprimez ce fichier et son fichier .py :

    $ sudo rm /usr/lib/python2.7/dist-packages/pkg_resources.py*

Attention

Ce fichier pourrait avoir été installé via le package python-pkg-resources. Par conséquent, mettre à jour ou réinstaller ce package rétablira le module obsolète ! Soyez également conscient que vous touchez à un fichier censé être contrôlé par apt.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X