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.