come aggiornare gli strumenti di configurazione di Python> 12.2 su Ubuntu 15.04


11

Il pacchetto apt sembra essere 12.2

Se eseguo sudo pip install -U setuptools la versione sembra essere ancora bloccato a 12.2

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

[MODIFICARE]

Ho appena notato che non sovrascriverà la versione del sistema operativo di 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...

[/MODIFICARE]


1
sudo pip install -U pip setuptools
AB

@AB Ho appena provato questo e ho notato che non sovrascriverà la versione del sistema operativo ... questo è probabilmente il problema ..
Stuart Axon

Risposte:


18
  1. Rimuovere la versione del repository

    sudo apt-get remove python-setuptools
  2. Se necessario, installarlo di pipnuovo

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

    sudo -H pip install -U pip setuptools

E ora, ricomincia il 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

Nota

L'installazione di qualsiasi pacchetto che dipende da uno python-setuptoolso python-pipriporterà questi pacchetti, quindi potrebbe essere necessario ripetere questa procedura!


funziona anche su centos
Abhishek Dujari

2

La soluzione proposta da AB potrebbe non essere del tutto sufficiente: nella recente versione di setuptools, pkg_resourcesè un pacchetto, mentre in precedenza era solo un singolo modulo.

Aggiornamento setuptoolsnel modo descritto sarà lasciato stantia pkg_resources.py{,c}intorno , che può portare alla seguente errore durante l'importazione setuptools:

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

Per rimuoverlo, procedi come segue:

  1. Scopri dove pkg_resourcessi trova il modulo obsoleto :

    $ python -c 'import pkg_resources; print(pkg_resources.__file__)'
    /usr/lib/python2.7/dist-packages/pkg_resources.pyc
  2. Rimuovi questo file e il suo .pyfile:

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

avvertimento

Questo file potrebbe essere stato installato tramite il python-pkg-resourcespacchetto. Pertanto l'aggiornamento o la reinstallazione di questo pacchetto ripristinerà il modulo obsoleto! Inoltre, tieni presente che stai scherzando con un file che dovrebbe essere controllato da apt.


1
Ho accettato la risposta AB perché era quasi sempre lì, ma se potessi accettarli entrambi lo farei. - Non ho ancora avuto la possibilità di provarlo, dato che da allora ho aggiornato Ubuntu e sono un po 'diffidente riguardo al pasticciare con gli strumenti di installazione, probabilmente dovrò provarlo in una macchina virtuale per vedere cosa succede.
Stuart Axon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.