як оновити python setuptools> 12.2 на ubuntu 15.04


11

Цілий пакет здається 12.2

Якщо я запускаю, sudo pip install -U setuptools версія, здається, все ще застрягла в 12.2

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

[EDIT]

Щойно зауважив, що він не замінить версію ОС для налаштування:

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]


1
sudo pip install -U pip setuptools
AB

@AB Щойно спробував це, і помітив, що він не замінить версію ОС ... це, мабуть, проблема ..
Стюарт Аксон

Відповіді:


18
  1. Видаліть версію сховища

    sudo apt-get remove python-setuptools
  2. При необхідності встановіть pipзнову

    wget https://bootstrap.pypa.io/get-pip.py
    sudo -H python get-pip.py
  3. Встановити setuptoolsчерезpip

    sudo -H pip install -U pip setuptools

А тепер почніть тестувати заново

% 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

Примітка

Встановлення будь-якого пакета, який залежить від того, python-setuptoolsабо python-pipповерне ці пакети назад, тому вам, можливо, доведеться повторити цю процедуру!


працює і на
центоси

2

Рішення, запропонованого AB, може бути недостатньо: в останній версії setuptools pkg_resourcesце пакет, тоді як раніше це був лише один модуль.

Оновлення setuptoolsописаного способу буде залишити несвіжу pkg_resources.py{,c}навколо , що може привести до наступної помилки при імпорті setuptools:

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

Щоб видалити його, виконайте наступне:

  1. Дізнайтеся, де знаходиться застарілий pkg_resourcesмодуль:

    $ python -c 'import pkg_resources; print(pkg_resources.__file__)'
    /usr/lib/python2.7/dist-packages/pkg_resources.pyc
  2. Видаліть цей файл та його .pyфайл:

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

Увага

Цей файл, можливо, був встановлений через python-pkg-resourcesпакет. Тому оновлення або перевстановлення цього пакета відновить несвіжий модуль! Також пам’ятайте, що ви возитесь з файлом, яким слід керувати apt.


1
Я прийняв відповідь АБ, як це було більшою частиною шляху, але якби я міг прийняти і те, і так. - У мене ще не було можливості спробувати це, так як я з тих пір оновив Ubuntu і мені трохи хочеться повозитися з налаштуваннями на ньому, мені, мабуть, потрібно спробувати це у віртуальній машині, щоб побачити, що відбувається.
Стюарт Ексон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.