как обновить python setuptools & gt; 12.2 по ubuntu 15.04

Кажется, что apt-пакет 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]

Просто заметил, что он не перезапишет версию ОС 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...

[/ EDIT]

1
задан 10 October 2015 в 12:29

1 ответ

Решение, предложенное A.B. может быть не совсем достаточно: в последней версии setuptools pkg_resources представляет собой пакет, тогда как ранее он был всего лишь одним модулем.

Обновление setuptools описанным способом оставит устаревшее pkg_resources.py{,c} вокруг, что может привести к следующей ошибке при импорте setuptools:

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

Чтобы удалить его, выполните следующие действия:

Узнайте, где устаревший модуль pkg_resources находится:
$ python -c 'import pkg_resources; print(pkg_resources.__file__)'
/usr/lib/python2.7/dist-packages/pkg_resources.pyc
Удалите этот файл и файл .py:
$ sudo rm /usr/lib/python2.7/dist-packages/pkg_resources.py*

Warning

Этот файл мог быть установлен через пакет python-pkg-resources. Поэтому обновление или переустановка этого пакета приведет к восстановлению устаревшего модуля! Также имейте в виду, что вы возитесь с файлом, который должен контролироваться apt.

2
ответ дан 23 May 2018 в 16:49
  • 1
    Я принял А.Б. ответьте, как это было в большинстве случаев, но если бы я согласился, я бы это сделал. - У меня еще не было возможности попробовать это, так как с тех пор я обновил Ubuntu и немного остерегаюсь возиться с setuptools на нем, мне, вероятно, придется попробовать это на виртуальной машине, чтобы узнать, что произойдет. – Stuart Axon 27 November 2015 в 08:27

Другие вопросы по тегам:

Похожие вопросы: