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]


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!


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.