Невозможно обновить пункт


21

Я новичок в Linux и Ubuntu.

Я пытался обновить пипс, но столкнулся с этим ...

$ 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- внешний python-apt, чтобы позволить).
Спенсер Ли

Ответы:


3

Редактировать:

pip install -U pip

или

pip install --upgrade pip

-Uэто сокращение для --upgrade.


Старый ответ:

aptСистема и PyPIиспользует два различных механизм.

В репозиториях Ubuntu многие модули pythonдоступны в виде пакетов, но их количество невелико по сравнению с PyPI (индекс пакетов Python) . Чтобы оставаться последовательным при обновлении пакета, вы должны рассмотреть метод, который вы использовали изначально, чтобы установить его.

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

В двух словах, выполните следующее для обновления python-pipдо последней версии:

sudo apt-get install python-pip

4
Это не отвечает на вопрос. Python-pip не обновляет pip, он только устанавливает очень старую версию pip таким образом, что pip не может обновиться сам.
17

@Cerin Ты внимательно прочитал ответ? python-pipэто пакет из (официального) репозитория Universe, тогда как easy_installустанавливается из PyPI. Как всегда, официальные репозитории не содержат последнюю версию пакета для поддержания стабильности системы (и устранения зависимостей).
Heemayl

6
@heemayl, OP спросил, как обновить pip, и вы фактически сказали им установить старую версию pip. Правильное решение - удалить python-pip и установить из PyPI. Установка python-pip не обновляет pip.
Cerin

22

Попробуйте установить его с помощью easy_install:

easy_install -U pip

1
Не уверены, что этот ответ остается в силе? В этом сообщении о переполнении стека спрашивалось: «Зачем использовать pip over easy_install?», В котором один из ответов отметил, что: «Единственная веская причина, по которой я знаю использование easy_install в 2015 году, - это особый случай использования предустановленного Python от Apple версии с OS X 10.5-10.8. "
Clearkimura

1
Сосредоточьтесь на вопросе, вопрос «Невозможно обновить pip», и я предлагаю способ обновления через easy_install, он работает в декабре 2015 года, хорошо?
NamPNQ

Чтобы объяснить, почему этот ответ был ранее отклонен? Мне удалось найти недавний комментарий под этим постом , который цитируется здесь: "easy_install -U pip от предложения ByteCommander работал для меня. - Тампа 1 июня в 12:23". По easy_installсообщениям, этот метод работает для некоторых пользователей.
clearkimura

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до более новой версии, что может помешать и сломать вещи.
Мартин Питерс

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 Gordon Worley III

Эти команды (2-3) неверны.
Джоэл Г Мэтью

@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

Я столкнулся с этой проблемой, когда работал на удаленной машине, в которую входил ssh'd. Я только что установил Python 3 и не смог получить pip для обновления, хотя я пытался обновить его как через pip, так и через apt-get.

Выйти из удаленного сервера и вернуться в исправлено.


0

Если python-pipустановлено из репозиториев apt с пользователем 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

Я только начинающий , так что я не уверен , но , вероятно , что - то связано с различиями между питона 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.