Неможливо оновити pip


21

Я новачок у Linux та Ubuntu.

Я намагався оновити pip, але наткнувся на це ...

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

Будь-яка ідея чому?


2
спробуйте aptтобто sudo apt-get install python-pipоновитиpip
heemayl

хммм ... каже, що це найсучасніша версія ... це тому, що apt-get і pip отримують свої пакунки з різних джерел? (тобто це буде різниця між apt-get і pypi?) "python-pip - це вже найновіша версія."
Спенсер Лі

це означає, що це актуально ...
Тім

1
крім запущеного: список піп - оновлений pip повертає наступне: pip (Поточний: 1.5.4 Останній: 7.1.0) Не вдалося знайти завантаження, що задовольняли б вимозі python-apt. Деякі файли, розміщені зовні, були проігноровані (використовуйте --allow- зовнішній пітон-apt, щоб дозволити).
Спенсер Лі

Відповіді:


3

Редагувати:

pip install -U pip

або

pip install --upgrade pip

-Uце скорочення для --upgrade.


Стара відповідь:

aptСистема і PyPIвикористовує два різних механізм.

У сховищах Ubuntu багато модулів pythonдоступні у вигляді пакетів, але їх кількість не велика порівняно з PyPI (The Python Package Index) . Щоб залишатися послідовними щодо оновлення пакета, потрібно розглянути метод, який ви використовували для його встановлення.

Отже, якщо ви встановили пакет (модуль) з PyPIвикористання, pipто вам слід було pipб оновити пакет PyPI(включаючи pipсам). З іншого боку, якщо ви використовували aptсистему для встановлення модуля (як пакета), вам потрібно скористатися, aptщоб оновити його ще раз.

Коротше кажучи, запустіть наступне для оновлення python-pipдо останньої версії:

sudo apt-get install python-pip

4
Це не відповідає на запитання. python-pip не оновлює pip, він встановлює лише дуже стару версію pip таким чином, що pip не може оновити себе.
Серін

@Cerin Ви прочитали ретельно відповідь? python-pip- це пакет із (офіційного) сховища Universe, тоді як він easy_installвстановлюється з PyPI. Як завжди, офіційні сховища не містять останнього пакета, щоб підтримувати стабільність системи (і рішення залежностей).
heemayl

6
@heemayl, OP запитав, як оновити pip, і ви фактично сказали їм встановити стару версію pip. Правильне рішення - видалити python-pip та встановити з PyPI. Встановлення python-pip не оновлює pip.
Серін

22

Спробуйте встановити його за допомогою easy_install:

easy_install -U pip

1
Не впевнені, чи ця відповідь все-таки справедлива? У цьому дописі Stack Overflow на запитання "Навіщо використовувати pip over easy_install?", В якому в одній з відповідей зазначалося, що: "Єдина вагома причина, яку я знаю, щоб використовувати easy_install у 2015 році, - це особливий випадок використання попередньо встановленого Apple Python версії з ОС X 10.5-10.8. "
клеаркімура

1
Зосередьтеся на питанні, питання "Неможливо оновити pip", і я пропоную спосіб оновлення через easy_install, він працює в грудні 2015 року, нормально?
NamPNQ

Чи пояснюйте тим, хто переживає низку, чому цю відповідь було скасовано раніше? Мені вдалося знайти останній коментар під цим повідомленням , який цитується тут: "easy_install -U pip з пропозиції ByteCommander працював на мене. - Тампа 1 червня о 12:23". Як easy_installповідомляється, цей метод працює для деяких користувачів.
клеаркімура

1
Це працювало для мене (з sudo). Раніше sudo apt-get install python-pipдавав мені, python-pip is already the newest version (8.1.1-2ubuntu0.4)тоді як 9.0.1 був доступний, але не міг бути встановлений pip install --upgrade pip(що залишило версію незмінною у 8.1.1). Після easy_installоновлення версії
Курт Пік

Хоча це працює, це замінює файли, що керуються системою, на новішу pipверсію. Повторна інсталяція python-pipпакета знову замінить файли. Інший код, що покладається на наявну та правильну версію пакета, може зламатися (невеликий, але ненульовий шанс), і easy_installможе додати додаткові файли, які не видаляються при подальшому оновлення python-pipдо нової версії, що може заважати та порушувати роботи.
Martijn Pieters

7

У мене було одне і те ж питання давно і я вирішив рішення сьогодні. Під час встановлення pip через python-pip ви завантажуєте з застарілого сервера Linux. Вам слід завантажити з сервера python. Щоб вирішити це, виконайте наступне:

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
дякую за пояснення джерела проблеми. Мені довелося зрозуміти це перед тим, як прокрутити вниз і побачити цю відповідь.
G Гордон Ворлі III

Ці команди (2-3) неправильні.
Joel G Mathew

@JoelGMathew потрібно просто встановити слово після apt-get
nurgasemetey

2

Насправді ви можете відредагувати сценарій 'pip':

від кореня:

$ which pip  # -> prints 'pip' location

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

замініть на __requires__пізніше піп-версію на зразок:

__requires__ = 'pip==7.1.2'

ніж редагувати рядок із викликом 'load_entry_point' на:

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

і:

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

Крім того, мені доведеться оновити пакет setuptools , встановити деякі пакунки.


2

Це викликано конфліктом між версією pip, наданої системним пакетом, як python-pip, і версією, наданою PyPI через сам pip.

Щоб виправити це, просто видаліть за python-pipдопомогою sudo apt-get purge python-pip.

Якщо ви вже використовували стару версію pip для встановлення більш нової версії, це має залишити оновлену версію в /usr/local/bin. Якщо ні, ви можете встановити найновішу версію Pip з нуля за допомогою:

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


1

Спробуйте запустити sudo -H pip3 install --upgrade pipоновити свій pip3 (для Python 3). І навпаки, ви можете зробити і sudo -H pip2 install --upgrade pipдля оновлення pip (для Python 2).


1

Я зіткнувся з цією проблемою під час роботи на віддаленій машині, в яку я потрапив. Я щойно встановив python 3, і не зміг отримати pip для оновлення, хоча я намагався оновити за допомогою pip AND apt-get.

Вихід із віддаленого сервера та вхід у систему зафіксовано.


0

Якщо python-pipвстановлено з підходящих сховищ із користувачем sudo, запустіть те sudo -H install --upgrade pipсаме, що і для установки модулів PIP.

Ось вихід з моєї консолі 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
:~$ 

також див. Що таке -H прапор для pip? /programming/28619686/what-is-the-h-flag-for-pip


0

Я лише початківець, тому я не впевнений, але, мабуть, щось пов’язане з відмінностями python 2 і 3. Я думаю, що не потрібно бути супер-користувачем, але ви можете це легко використовувати, pip3замість того, pipщоб оновити pip: pip3 install --upgrade pip


0

У мене з’явилася подібна проблема з оновленням версії pip 9.0.3 до 18.0.

Тож при оновленні спочатку відбувається видалення, а потім встановлюється остання версія. Однак я виявив, що з першої вашої спроби написано "успішно видалено pip-9.0.3"

При наступних спробах ми отримуємо ту ж помилку. Це тому, що pip-9.0.3 видалено. Як і у прийнятій відповіді, я встановив pip як адміністратор у своїй системі Windows 10, отримав тобі останню версію, і тоді все було добре.

Сподіваюся, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.