cómo actualizar las herramientas de configuración de Python> 12.2 en ubuntu 15.04


11

El paquete apt parece ser 12.2

Si ejecuto sudo pip install -U setuptools la versión parece estar atascada en 12.2

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

[EDITAR]

Acabo de notar que no sobrescribirá la versión del sistema operativo 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...

[/EDITAR]


1
sudo pip install -U pip setuptools
AB

@AB Acabo de probar esto y noté que no sobrescribirá la versión del sistema operativo ... este es probablemente el problema ...
Stuart Axon

Respuestas:


18
  1. Eliminar la versión del repositorio

    sudo apt-get remove python-setuptools
  2. Si es necesario, pipvuelva a instalar

    wget https://bootstrap.pypa.io/get-pip.py
    sudo -H python get-pip.py
    
  3. Instalar a setuptoolstravés depip

    sudo -H pip install -U pip setuptools

Y ahora, comienza a probar de nuevo

% 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

La instalación de cualquier paquete que dependa de una python-setuptoolso python-piptraerá estos paquetes hacia atrás, por lo que es posible que tenga que repetir este procedimiento!


también funciona en centos
Abhishek Dujari

2

La solución propuesta por AB puede no ser suficiente: en la versión reciente de setuptools, pkg_resourceses un paquete, mientras que anteriormente era solo un módulo.

La actualización setuptoolsde la manera descrita se deje un rancio pkg_resources.py{,c}alrededor , lo que puede conducir al siguiente error al importar setuptools:

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

Para eliminarlo, haga lo siguiente:

  1. Averigüe dónde se encuentra el pkg_resourcesmódulo obsoleto :

    $ python -c 'import pkg_resources; print(pkg_resources.__file__)'
    /usr/lib/python2.7/dist-packages/pkg_resources.pyc
    
  2. Elimine este archivo y su .pyarchivo:

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

Advertencia

Este archivo podría haberse instalado a través del python-pkg-resourcespaquete. ¡Por lo tanto, actualizar o reinstalar este paquete restablecerá el módulo obsoleto! También tenga en cuenta que está jugando con un archivo que se supone que está controlado por apt.


1
Acepté la respuesta AB ya que era la mayor parte del camino, pero si pudiera aceptar ambas, lo haría. - Todavía no he tenido la oportunidad de probar esto, ya que desde entonces actualicé Ubuntu y estoy un poco desconfiado sobre jugar con las herramientas de configuración, probablemente necesito probar esto en una máquina virtual para ver qué sucede.
Stuart Axon
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.