Cách nâng cấp thiết lập python> 12.2 trên Ubuntu 15.04


11

Gói apt dường như là 12.2

Nếu tôi chạy sudo pip install -U setuptools phiên bản dường như vẫn bị kẹt ở 12.2

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

[BIÊN TẬP]

Chỉ cần lưu ý rằng nó sẽ không ghi đè lên phiên bản hệ điều hành của 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...

[/BIÊN TẬP]


1
sudo pip install -U pip setuptools
AB

@AB Chỉ cần thử điều này và nhận thấy nó sẽ không ghi đè lên phiên bản HĐH ... đây có lẽ là vấn đề ..
Stuart Axon

Câu trả lời:


17
  1. Xóa phiên bản kho lưu trữ

    sudo apt-get remove python-setuptools
  2. Nếu cần, cài đặt piplại

    wget https://bootstrap.pypa.io/get-pip.py
    sudo -H python get-pip.py
    
  3. Cài đặt setuptoolsquapip

    sudo -H pip install -U pip setuptools

Và bây giờ, bắt đầu bạn kiểm tra lại

% 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

Ghi chú

Cài đặt bất kỳ gói nào phụ thuộc vào một trong hai python-setuptoolshoặc python-pipsẽ mang các gói này trở lại, vì vậy bạn có thể phải lặp lại quy trình này!


cũng hoạt động trên centos
Abhishek Dujari

2

Giải pháp do AB đề xuất có thể không hoàn toàn đủ: trong phiên bản gần đây của setuptools, pkg_resourceslà một gói, trong khi trước đó nó chỉ là một mô-đun duy nhất.

Đang cập nhật setuptoolstheo cách được mô tả sẽ rời khỏi một cũ pkg_resources.py{,c}xung quanh , có thể dẫn đến các lỗi sau khi nhập khẩu setuptools:

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

Để loại bỏ nó, hãy làm như sau:

  1. Tìm nơi pkg_resourcesmô-đun lỗi thời được đặt:

    $ python -c 'import pkg_resources; print(pkg_resources.__file__)'
    /usr/lib/python2.7/dist-packages/pkg_resources.pyc
    
  2. Xóa tệp này và .pytệp của nó :

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

Cảnh báo

Tập tin này có thể đã được cài đặt thông qua python-pkg-resourcesgói. Do đó, cập nhật hoặc cài đặt lại gói này sẽ khôi phục mô-đun cũ! Ngoài ra, hãy lưu ý rằng bạn đang làm rối với một tập tin được cho là bị kiểm soát apt.


1
Tôi đã chấp nhận câu trả lời AB vì nó hầu hết đều ở đó, nhưng nếu tôi có thể chấp nhận cả hai thì tôi sẽ làm. - Tôi chưa có cơ hội để thử điều này, vì tôi đã nâng cấp Ubuntu và có chút lúng túng về việc cài đặt các công cụ thiết lập trên đó, có lẽ tôi sẽ cần thử điều này trong một máy ảo để xem điều gì sẽ xảy ra.
Stuart Axon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.