Как обновить pip до последней версии?

Я установил пип с помощью get-pip.py после этого pip freeze бросает ниже ошибки

Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/freeze.py", line 74, in run
    req = pip.FrozenRequirement.from_dist(dist, dependency_links, find_tags=find_tags)
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 299, in from_dist
    assert len(specs) == 1 and specs[0][0] == '=='
AssertionError

Storing debug log for failure in /home/simon/.pip/pip.log

Итак, я проверил 1.7 является самым последним. Если я следовал приведенным ниже шагам, и он не обновляется... Помогите мне здесь...

simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
simon@simon-OptiPlex-780:~/Nightybuild$ pip install -U pip
Downloading/unpacking pip
  Downloading pip-7.1.2-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
Successfully installed pip
Cleaning up...
simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)

10 ответов

Я обычно просто запускаю следующие команды, чтобы обновить оба pip2 знак равноpip по умолчанию) и pip3:

sudo -H pip3 install --upgrade pip
sudo -H pip2 install --upgrade pip

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

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

Я думаю

pip install --upgrade pip

Команда больше не работает должным образом. Правильная команда должна быть:

  • для Python 3:

    python3 -m pip install --upgrade pip
    
  • для Python 2:

    python2 -m pip install --upgrade pip
    

Перейти на этот сайт https://pypi.python.org/pypi/pip

скопируйте (или) загрузите ссылку на источник (заканчивается на.tar.gz)

для 9.0.1 ссылка - https://pypi.python.org/pypi?:action=show_md5&digest=35f01da33009719497f01a4ba69d63c9

процесс установки

wget //link goes here
tar -xzvf pip-9.0.1.tar.gz
cd pip-9.0.1
sudo python3 setup.py install

версия должна быть изменена на последнюю версию, а ссылка может быть обновлена ​​с помощью ссылки на последнюю версию

это должно работать

Я думаю, что стоит упомянуть, что то, что я объясняю ниже, это то, что если вы ожидаете, что pip будет указывать на Python 2, а pip3 будет указывать на Python 3. Причина, по которой я упоминаю это, заключается в том, что когда вы обновляете pip3, он также принимает команду pip как Что ж. Это несколько странное соглашение, потому что по умолчанию python указывает на 2.x, а python3 указывает на 3.x. Что, как говорится...

Если вы хотите, чтобы последние версии Python 2.x pip и Python 3.x pip3 сосуществовали на одном компьютере (используя pip для 2.x и pip3 для 3.x), вам необходимо выполнить следующее:

sudo apt-get install python-pip python3-pip --yes
sudo python3 -m pip install pip --upgrade --force
sudo python -m pip install pip --upgrade --force # this line associates pip with Python 2

В других ответах, предоставленных другими, не упоминается, что после запуска sudo pip3 установите pip --upgrade, и в итоге вы получите команду pip для установки пакетов в каталогах python 3.x вместо каталогов python 2.x.

Часть меня думает, что мы должны просто оставить pip be после обновления pip3 (даже если это pip -> pip3), но есть опасность, что люди уже ожидают, что pip функционирует как python - оба указывают на python 2.x. Другими словами, люди, вероятно, обучены использовать pip /python для python 2.x точно так же, как они обучены использовать pip3 /python3 для python 3.x.

pip install -U pip

Самое короткое, что я знаю.

Обновите версию пункта, используя

sudo apt-get update

sudo apt install python3-pip

Если pip install -U pipиспользуется, тогда pip сначала удаляется и может зависнуть в середине всего процесса. Так что безопасно использовать:

python3 -m pip install -U pip для Python 3

python -m pip install -U pipдля Python 2.7 (или любой версии Python, если запускается изнутри venv)

Я столкнулся с той же ошибкой и решил ее с помощью следующих команд.

sudo su root
apt-get purge -y python-pip
wget https://bootstrap.pypa.io/get-pip.py
python ./get-pip.py
apt-get install python-pip

ImportError: Нет модуля с именем packaging.version

Ниже приведена команда для обновления до последней доступной версии pip в Ubuntu.

      # python -m pip install --upgrade pip

Для конкретной версии пипа, т.е. 22.0.4, попробуйте выполнить команду ниже:

      # pip install pip==22.0.4
# pip --version
pip 22.0.4 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

Таким образом, мы можем установить любую другую доступную версию pip.

Centos: сначала вам нужно установить последнюю версию python (в настоящее время: python 3.8) ссылка

      [root@centos7 ~]# yum install gcc openssl-devel bzip2-devel libffi-devel -y
[root@centos7 ~]# curl -O https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
[root@centos7 ~]# tar -xzf Python-3.8.1.tgz
[root@centos7 ~]# cd Python-3.8.1/
[root@centos7 Python-3.8.1]# ./configure --enable-optimizations
[root@centos7 Python-3.8.1]# make altinstall

Теперь установлен python3.8. Теперь вы можете установить последнюю версию pip (в настоящее время 21.1)

      # python3.8 -m pip install --upgrade pip
# pip3.8 --version
# OUTPUT ==> pip 21.1 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

Для ubuntu используйте apt-get вместо yum

Другие вопросы по тегам