우분투 15.04에서 Python setuptools> 12.2를 업그레이드하는 방법


11

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

[편집하다]

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

[/편집하다]


1
sudo pip install -U pip setuptools
AB

@AB 그냥 이것을 시도하고 OS 버전을 덮어 쓰지 않을 것이라는 것을 알았습니다 ... 이것은 아마도 문제 일 것입니다.
Stuart Axon

답변:


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이러한 패키지를 다시 가져올 패키지를 설치 하므로이 절차를 반복해야 할 수도 있습니다!


centos에서도 작동
Abhishek Dujari

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
나는 AB 답변을 대부분의 방식으로 받아 들였지만 둘 다 받아 들일 수 있다면 좋겠다. -우분투를 업그레이드 한 이후에 setuptools로 엉망이되는 것에 대해 약간의 불안감이 있기 때문에 아직 시도 할 기회가 없었습니다. 어쩌면 가상 머신 에서이 작업을 수행 해야하는지 확인할 것입니다.
Stuart Axon 4
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.