cara memutakhirkan python setuptools> 12.2 di ubuntu 15.04

11

Paket apt sepertinya 12.2

Jika saya menjalankan sudo pip install -U setuptools versi sepertinya masih macet di 12.2

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

[EDIT]

Hanya perhatikan itu tidak akan menimpa versi setuptools OS:

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...

[/ EDIT]

Stuart Axon
sumber
1
sudo pip install -U pip setuptools
AB
@ AB Hanya mencoba ini dan menyadari bahwa itu tidak akan menimpa versi OS ... ini mungkin masalahnya ..
Stuart Axon

Jawaban:

18
  1. Hapus versi repositori

    sudo apt-get remove python-setuptools
  2. Jika perlu, pasang pipkembali

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

    sudo -H pip install -U pip setuptools

Dan sekarang, mulailah tes Anda lagi

% 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

Catatan

Menginstal paket apa pun yang bergantung pada salah satu python-setuptoolsatau python-pipakan mengembalikan paket-paket ini, jadi Anda mungkin harus mengulangi prosedur ini!

AB
sumber
bekerja pada centos juga
Abhishek Dujari
2

Solusi yang diusulkan oleh AB mungkin tidak cukup: dalam versi setuptools terbaru, pkg_resourcesadalah sebuah paket, sedangkan sebelumnya itu hanya sebuah modul tunggal.

Memperbarui setuptoolsdalam cara yang dijelaskan akan meninggalkan basi sebuah pkg_resources.py{,c}sekitar , yang dapat menyebabkan kesalahan berikut ketika mengimpor setuptools:

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

Untuk menghapusnya, lakukan hal berikut:

  1. Cari tahu di mana pkg_resourcesmodul yang sudah usang berada:

    $ python -c 'import pkg_resources; print(pkg_resources.__file__)'
    /usr/lib/python2.7/dist-packages/pkg_resources.pyc
  2. Hapus file ini dan file-nya .py:

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

Peringatan

File ini mungkin telah diinstal melalui python-pkg-resourcespaket. Karenanya memperbarui atau menginstal ulang paket ini akan mengembalikan modul basi! Perlu diketahui juga bahwa Anda mengacaukan file yang seharusnya dikendalikan oleh apt.

kynan
sumber
1
Saya menerima jawaban AB karena sebagian besar jalan di sana, tetapi jika saya bisa menerima keduanya saya akan menerima. - Saya belum memiliki kesempatan untuk mencoba ini, karena saya telah memutakhirkan Ubuntu dan sedikit curiga tentang mengacaukan setuptools di atasnya, saya mungkin perlu mencoba ini di mesin virtual untuk melihat apa yang terjadi.
Stuart Axon