Không thể nâng cấp pip


21

Tôi chưa quen với Linux và Ubuntu.

Tôi đã cố gắng nâng cấp pip nhưng chạy vào ...

$ sudo pip install --upgrade pip
Cannot fetch index base URL https://pypi.python.org/simple/
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.0-py2.py3-none-any.whl#md5=b108384a762825ec20345bb9b5b7209f
  Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed pip
Cleaning up...

Bất cứ ý tưởng tại sao?


2
thử apttức là sudo apt-get install python-pipnâng cấppip
heemayl

hmmm ... nói rằng phiên bản cập nhật nhất của nó ... có phải vì apt-get và pip lấy các gói của chúng tạo thành các nguồn khác nhau? (tức là đó có phải là sự khác biệt giữa apt-get và pypi không?) 'python-pip đã là phiên bản mới nhất.'
Spencer Lee

điều đó có nghĩa là nó đã được cập nhật ...
Tim

1
ngoại trừ việc chạy: danh sách pip - pip đã hết hạn trả về như sau: pip (Hiện tại: 1.5.4 Mới nhất: 7.1.0) Không thể tìm thấy bất kỳ tải xuống nào đáp ứng yêu cầu python-apt Một số tệp được lưu trữ bên ngoài đã bị bỏ qua (sử dụng --allow- python-apt bên ngoài để cho phép).
Spencer Lee

Câu trả lời:


3

Chỉnh sửa:

pip install -U pip

hoặc là

pip install --upgrade pip

-U là tốc ký cho --upgrade .


Câu trả lời cũ:

Các apt hệ thống và PyPIsử dụng hai cơ chế khác nhau.

Trong kho của Ubuntu, nhiều mô-đun pythoncó sẵn dưới dạng các gói, nhưng chúng không nhiều về số lượng so với PyPI (Chỉ số gói Python) . Để thống nhất về việc nâng cấp gói, bạn cần xem xét phương pháp bạn đã sử dụng ban đầu được sử dụng để cài đặt gói.

Vì vậy, nếu bạn đã cài đặt một gói (mô-đun) từ PyPIviệc sử dụng pipthì bạn nên sử dụng pipđể nâng cấp gói từ PyPI(bao gồm cả pipchính nó). Mặt khác, nếu bạn đã sử dụng apthệ thống để cài đặt một mô-đun (dưới dạng gói), bạn cần sử dụng aptđể nâng cấp lại.

Tóm lại, hãy chạy các bước sau để nâng cấp python-piplên phiên bản mới nhất:

sudo apt-get install python-pip

4
Điều này không trả lời câu hỏi. python-pip không nâng cấp pip, nó chỉ cài đặt một phiên bản pip rất cũ theo cách mà pip không thể tự nâng cấp.
Cerin

@Cerin Bạn đã đọc kỹ câu trả lời chưa? python-piplà gói từ kho vũ trụ (chính thức) trong khi easy_installcài đặt từ PyPI. Như mọi khi các kho chính thức không chứa gói mới nhất để giữ cho hệ thống ổn định (và các phụ thuộc được giải quyết).
heemayl

6
@heemayl, OP đã hỏi cách nâng cấp pip và bạn đã bảo họ cài đặt một phiên bản cũ của pip một cách hiệu quả. Giải pháp chính xác là gỡ cài đặt python-pip và cài đặt từ PyPI. Cài đặt python-pip không nâng cấp pip.
Cerin

22

Hãy thử cài đặt nó với easy_install:

easy_install -U pip

1
Không chắc chắn nếu câu trả lời này vẫn còn hiệu lực? Bài đăng này trên Stack Overflow đã hỏi về "Tại sao nên sử dụng pip over easy_install?", Trong đó một trong những câu trả lời lưu ý rằng: "Lý do chính đáng duy nhất mà tôi biết để sử dụng easy_install vào năm 2015 là trường hợp đặc biệt sử dụng Python được cài đặt sẵn của Apple các phiên bản có OS X 10.5-10.8. "
Clearkimura

1
Tập trung vào câu hỏi, câu hỏi là 'Không thể nâng cấp pip' và tôi đề nghị cách nâng cấp thông qua easy_install, nó hoạt động vào tháng 12 năm 2015, ok?
NamPNQ

Để downvoters, giải thích tại sao câu trả lời này đã bị hạ cấp trước đó? Tôi đã tìm được một bình luận gần đây dưới bài đăng này , được trích dẫn ở đây: "easy_install -U pip từ đề xuất của ByteCommander làm việc cho tôi. - Tampa ngày 1 tháng 6 lúc 12:23". Các easy_installphương pháp báo cáo làm việc cho một số người dùng.
Clearkimura

1
Điều này làm việc cho tôi (với sudo). Trước đây, sudo apt-get install python-pipđã cung cấp cho tôi python-pip is already the newest version (8.1.1-2ubuntu0.4)trong khi 9.0.1 có sẵn, nhưng không thể cài đặt được pip install --upgrade pip(khiến phiên bản không thay đổi ở 8.1.1). Sau khi easy_installphiên bản được nâng cấp.
Kurt Peek

Mặc dù điều này hoạt động, nhưng điều này thay thế các tệp được quản lý hệ thống bằng pipphiên bản mới hơn . Việc cài đặt lại python-pipgói sẽ thay thế các tệp một lần nữa. Các mã khác dựa trên phiên bản gói có mặt và chính xác có thể phá vỡ (cơ hội nhỏ nhưng không bằng 0) và easy_installcó thể thêm các tệp bổ sung không bị xóa khi nâng cấp python-piplên phiên bản mới hơn có thể gây trở ngại và phá vỡ mọi thứ.
Martijn Pieters

7

Tôi đã có cùng một vấn đề trong một thời gian dài và tìm ra giải pháp ngày hôm nay. Khi bạn cài đặt pip qua python-pip, bạn tải xuống từ máy chủ Linux không dùng nữa. Bạn nên tải xuống từ máy chủ python. Để giải quyết điều này, hãy làm như sau:

sudo apt-get purge pip
sudo apt-get install python-setuptools
sudo apt-get install python-dev 
sudo easy_install pip 
pip install pip --upgrade 

1
cảm ơn vì đã giải thích nguồn gốc của vấn đề tôi đã phải tự mình tìm ra điều này trước khi cuộn xuống và thấy câu trả lời này.
G Gordon Worley III

Các lệnh này (2-3) là sai.
Joel G Mathew

@JoelGMathew chỉ cần cài đặt từ sau apt-get
nurgasemetey

2

Trên thực tế, bạn có thể chỉnh sửa tập lệnh 'pip' của mình:

từ gốc:

$ which pip  # -> prints 'pip' location

$ nano `which pip` # -> open with your editor, note the backticks!

thay thế __requires__bằng phiên bản pip mới nhất của bạn như:

__requires__ = 'pip==7.1.2'

thay vì chỉnh sửa dòng với lệnh gọi 'load_entry_point' tới:

load_entry_point(__requires__, 'console_scripts', 'pip')()

và:

$pip -V
pip 7.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)

Ngoài ra, tôi phải cập nhật gói setuptools của mình , để cài đặt một số gói.


2

Điều này được gây ra bởi xung đột giữa một phiên bản pip được cung cấp bởi gói hệ thống, như python-pip , và một phiên bản do PyPI cung cấp thông qua chính pip.

Để khắc phục điều này, chỉ cần loại bỏ python-pipvới sudo apt-get purge python-pip.

Nếu bạn đã sử dụng phiên bản cũ của pip để cài đặt phiên bản mới hơn, thì phiên bản này sẽ để lại phiên bản cập nhật /usr/local/bin. Nếu không, bạn có thể cài đặt phiên bản Pip mới nhất từ ​​đầu với:

curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7


1

Hãy thử chạy sudo -H pip3 install --upgrade pipđể nâng cấp pip3 của bạn (cho Python 3). Ngược lại, bạn cũng có thể sudo -H pip2 install --upgrade pipnâng cấp pip (đối với Python 2).


1

Tôi gặp phải vấn đề này khi làm việc trên một máy từ xa mà tôi đã gặp phải. Tôi mới cài đặt python 3 và không thể nâng cấp pip, mặc dù tôi đã cố nâng cấp qua cả pip AND apt-get.

Đăng xuất khỏi máy chủ từ xa và đăng nhập lại đã sửa nó.


0

Nếu python-pipđược cài đặt từ kho apt với người dùng sudo - hãy chạysudo -H install --upgrade pip , tương tự để cài đặt các mô-đun PIP.

Đây là đầu ra từ bảng điều khiển của tôi vào ngày 16.04

..... Successfully installed requests
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 672kB/s 
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ sudo -H pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 692kB/s 
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-9.0.1
:~$ 

xem thêm cờ -H cho pip là gì? /programming/28619686/what-is-the-h-flag-for-pip


0

Tôi chỉ là người mới bắt đầu nên tôi không chắc nhưng có lẽ có gì đó liên quan đến sự khác biệt giữa python 2 và 3. Tôi nghĩ rằng không cần thiết phải là siêu người dùng nhưng bạn có thể dễ dàng sử dụng pip3thay vì pipnâng cấp pip: pip3 install --upgrade pip


0

Tôi gặp vấn đề tương tự khi nâng cấp phiên bản pip 9.0.3 lên 18.0.

Vì vậy, khi nâng cấp gỡ cài đặt đầu tiên xảy ra và sau đó phiên bản mới nhất được cài đặt. Tuy nhiên, tôi thấy rằng trong lần thử đầu tiên của bạn, nó báo "đã gỡ cài đặt thành công pip-9.0.3"

Trong các lần thử tiếp theo, chúng tôi nhận được cùng một lỗi. Điều này là do pip-9.0.3 bị gỡ cài đặt. Như với câu trả lời được chấp nhận, tôi đã cài đặt pip làm quản trị viên trong hệ thống windows 10 của mình, có phiên bản mới nhất và sau đó tất cả đều ổn.

Hi vọng điêu nay co ich.

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.