comment mettre à niveau python setuptools> 12.2 sur ubuntu 15.04

11

Le package apt semble être 12.2

Si je lance, 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

[ÉDITER]

Je viens de remarquer que cela n'écrasera pas la version du système d'exploitation de setuptools:

Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.2-py2.py3-none-any.whl#md5=5ff9fec0be479e4e36df467556deed4d
  Downloading pip-7.1.2-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Downloading/unpacking setuptools from https://pypi.python.org/packages/3.4/s/setuptools/setuptools-18.3.2-py2.py3-none-any.whl#md5=58c1e15fe0c124ab0880a2691f232434
  Downloading setuptools-18.3.2-py2.py3-none-any.whl (462kB): 462kB downloaded
Installing collected packages: pip, setuptools
  Found existing installation: pip 1.5.6
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS
  Found existing installation: setuptools 12.2
    Not uninstalling setuptools at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed pip setuptools
Cleaning up...

[/ÉDITER]

Stuart Axon
la source
1
sudo pip install -U pip setuptools
AB
@AB Je viens d'essayer et j'ai remarqué que cela n'écraserait pas la version du système d'exploitation ... c'est probablement le problème ..
Stuart Axon

Réponses:

18
  1. Supprimer la version du référentiel

    sudo apt-get remove python-setuptools
  2. Si nécessaire, installez à pipnouveau

    wget https://bootstrap.pypa.io/get-pip.py
    sudo -H python get-pip.py
  3. Installer setuptoolsviapip

    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

Remarque

L'installation de tout package qui dépend de l'un python-setuptoolsou de l' autre python-pipramènera ces packages, vous devrez donc peut-être répéter cette procédure!

UN B
la source
fonctionne également sur les centos
Abhishek Dujari
2

La solution proposée par AB n'est peut-être pas tout à fait suffisante: dans la version récente de setuptools, pkg_resourcesc'est un package, alors qu'auparavant c'était juste un module unique.

Mise à jour setuptoolsde la manière décrite va laisser un rassis pkg_resources.py{,c}autour , ce qui peut conduire à l'erreur suivante lors de l' importation setuptools:

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

Pour le supprimer, procédez comme suit:

  1. Découvrez où se trouve le pkg_resourcesmodule 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 .pyfichier:

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

avertissement

Ce fichier peut avoir été installé via le python-pkg-resourcespackage. Par conséquent, la mise à jour ou la réinstallation de ce package rétablira le module périmé! Sachez également que vous jouez avec un fichier censé être contrôlé par apt.

kynan
la source
1
J'ai accepté la réponse AB car c'était la plupart du temps là-bas, mais si je pouvais accepter les deux, je le ferais. - Je n'ai pas encore eu l'occasion d'essayer cela, car j'ai depuis mis à jour Ubuntu et je suis un peu méfiant à l'idée de jouer avec setuptools dessus, je devrai probablement essayer ceci dans une machine virtuelle pour voir ce qui se passe.
Stuart Axon