como atualizar o python setuptools> 12.2 no ubuntu 15.04


11

O pacote apt parece ser 12.2

Se eu executar, sudo pip install -U setuptools a versão ainda parece estar travada em 12.2

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

[EDITAR]

Só notei que não substituirá a versão do sistema operacional do 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 Apenas tentei isso e percebeu que não irá substituir a versão OS ... este é provavelmente o problema ..
Stuart Axon

Respostas:


18
  1. Remova a versão do repositório

    sudo apt-get remove python-setuptools
  2. Se necessário, instale pipnovamente

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

    sudo -H pip install -U pip setuptools

E agora, comece a testar novamente

% 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

A instalação de qualquer pacote que dependa python-setuptoolsou python-piptrará esses pacotes de volta, portanto, talvez você precise repetir este procedimento!


funciona em centos bem
Abhishek Dujari

2

A solução proposta pela AB pode não ser suficiente: na versão recente do setuptools, pkg_resourcesé um pacote, enquanto anteriormente era apenas um único módulo.

Atualizando setuptoolsda maneira descrita vai deixar um viciado pkg_resources.py{,c}em torno , o que pode levar ao seguinte erro ao importar setuptools:

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

Para removê-lo, faça o seguinte:

  1. Descubra onde o pkg_resourcesmódulo desatualizado está localizado:

    $ python -c 'import pkg_resources; print(pkg_resources.__file__)'
    /usr/lib/python2.7/dist-packages/pkg_resources.pyc
  2. Remova este arquivo e seu .pyarquivo:

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

Aviso

Este arquivo pode ter sido instalado através do python-pkg-resourcespacote. Portanto, atualizar ou reinstalar este pacote restabelecerá o módulo obsoleto! Lembre-se também de que você está mexendo com um arquivo que deve ser controlado apt.


1
Aceitei a resposta AB como era a maior parte do caminho, mas se eu pudesse aceitar as duas, aceitaria. - Ainda não tive chance de tentar isso, já que atualizei o Ubuntu e estou um pouco desconfiado de mexer com as ferramentas de instalação, provavelmente vou precisar tentar isso em uma máquina virtual para ver o que acontece.
precisa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.