Как мне обновить сам pip из моей виртуальной среды?

Я могу обновить управляемые pip пакеты, но как мне обновить сам pip? В соответствии с pip --versionУ меня в настоящее время установлен pip 1.1 в моем virtualenv, и я хочу обновить его до последней версии.

Какая команда для этого? Нужно ли использовать дистрибутив или есть собственная команда pip или virtualenv? Я уже пробовала pip update а также pip update pip без успеха.

24 ответа

Решение

pip это просто пакет PyPI, как и любой другой; Вы можете использовать его для обновления самого себя так же, как и для любого пакета:

pip install --upgrade pip

В Windows рекомендуемая команда:

python -m pip install --upgrade pip

Более безопасный метод - запустить pip через модуль python:

python -m pip install -U pip

В Windows, кажется, есть проблема с двоичными файлами, которые пытаются заменить себя, этот метод обходит это ограничение.

В моем случае моя версия pip была сломана, поэтому обновление само по себе не работало.

Fix:

(inside virtualenv):easy_install -U pip

Я испробовал все эти решения, упомянутые выше под Debian Jessie. Они не работают, потому что он просто берет последнюю версию, скомпилированную менеджером пакетов Debian, которая является 1.5.6, что соответствует версии 6.0.x. Некоторые пакеты, использующие pip в качестве предварительных условий, не будут работать как результат, например spaCy (для правильной работы которого требуется опция --no-cache-dir).

Таким образом, лучший способ решить эти проблемы - запустить get-pip.py, загруженный с помощью wget, с веб-сайта или с помощью curl, следующим образом:

 wget https://bootstrap.pypa.io/get-pip.py -O ./get-pip.py
 python ./get-pip.py
 python3 ./get-pip.py

Это установит текущую версию, которая на момент написания этого решения была 9.0.1, что намного превышает то, что предоставляет Debian.

 $ pip --version
 pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python2.7/dist-packages (python 2.7)
 $ pip3 --version
 pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python3.4/site-packages (python 3.4)

Для окон,

  • перейти в командную строку
  • и используйте эту команду
  • python -m pip install –upgrade pip
  • Не забудьте перезапустить редактор, чтобы избежать ошибок
  • вы можете проверить версию pip по
  • pip --version
  • если вы хотите установить какую-либо конкретную версию pip, например version 18.1 затем используйте эту команду,
  • python -m pip install pip==18.1

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

  python3 -m pip install --upgrade pip setuptools wheel
      pip install --upgrade pip

В UBUNTU 18.04 я получил следующую ошибку при выполнении указанной выше команды:

ОШИБКА: не удалось установить пакеты из-за ошибки EnvironmentError: [Errno 13] Permission denied: '/ usr / local / bin / pip' Рассмотрите возможность использования --user вариант или проверьте разрешения.

Приведенная ниже команда решает мою проблему: pip install --upgrade pip --user

Обновление pip с использованием 'pip install --upgrade pip' не всегда работает из-за страшной проблемы с сертификатом: возникла проблема с подтверждением сертификата ssl: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] версия протокола оповещения tlsv1

Мне нравится использовать однострочную команду для виртуальных envs:

curl https://bootstrap.pypa.io/get-pip.py | python -

Или, если вы хотите установить его в коробку, вам понадобится

curl https://bootstrap.pypa.io/get-pip.py | sudo python -

Вы можете задать флаг curl a -s, если хотите отключить вывод при запуске в скрипте автоматизации.

Чтобы заставить это работать для меня, мне пришлось развернуть каталог Python с помощью командной строки Python (на WIN10 из VS CODE). В моем случае это было в моей папке "AppData\Local\Programs\Python\python35-32". Оттуда теперь я управлял командой...

python -m pip install --upgrade pip

Это сработало, и мне пора.

Откройте командную строку с разрешениями администратора и повторите команду:

python -m pip install --upgrade pip

Пип версия 10 имеет проблему. Это проявится как ошибка:

ubuntu@mymachine-:~/mydir$ sudo pip install --upgrade pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

Решение состоит в том, чтобы перейти в venv, который вы хотите обновить, и запустить:

sudo myvenv/bin/pip install --upgrade pip

а не просто

sudo pip install --upgrade pip

Я был в подобной ситуации и хотел обновить пакет urllib3. Что сработало для меня:

pip3 install --upgrade --force-reinstall --ignore-installed urllib3==1.25.3

Для linux

python3 -m pip install --upgrade pip

Для окон:

1. введите командную строку в поле поиска Windows.

2. В командной строке введите «cd \».

3. Нажмите Enter, и вы увидите имя диска. C:\>

4. Найдите путь к вашему приложению Python, то есть папку, в которую вы изначально установили Python.

Вот пример пути к приложению Python:

      C:\Users\Ron\AppData\Local\Programs\Python\Python39

5. Как только вы получили путь к приложению Python, введите следующую команду в командной строке:

cd за которым следует путь к вашему приложению Python

Для нашего примера:

      C:\>cd C:\Users\Ron\AppData\Local\Programs\Python\Python39

6. нажмите Enter.

7. Тип python -m pip install --upgrade pip и нажмите ввод

Сначала сделайте следующее:

sudo apt install python3-pip python-setuptools-doc

Затем ОТ ПОЛЬЗОВАТЕЛЯ, НЕ ОСНОВНОГО ПОЛЬЗОВАТЕЛЯ (НИКОГДА, НИКОГДА pip* ПОД root ПОЛЬЗОВАТЕЛЬ ОС !!!):

      # N.B. bash shell works for this, I have never tested with other shells!
. ....your_virtualenv_folder/bin/activate
pip3 install -U pip

Примечание: -U это синоним --upgrade, насколько мне известно.

В моем случае это работало из командной строки терминала в Debian Stable

python3 -m pip install --upgrade pip

Я установил Python в C:\Python\Python36, поэтому я зашел в командную строку Windows и набрал "cd C:\Python\Python36, чтобы перейти к нужному каталогу. Затем ввел все"python -m install --upgrade pip"все хорошо!

На моем ноутбуке с Windows 7 правильный способ установить последнюю версию pip:

python.exe -m pip install --upgrade pip
      some_venv>python.exe -m install --upgrade pip
some_venv>pip -V

При обновлении pip в виртуальной среде используйте полный путь в команде python

Структура папки Envirnments

myenv\скрипты\питон

h:\folderName\myenv\scripts\python -m pip install --upgrade pip

Перейдите в командную строку и введите следующее:

      python -m pip install --upgrade pip

Однострочная программа Python
Лучший способ, который я нашел, - написать однострочную программу, которая загружает и запускает официальный скрипт get-pip. Смотрите код ниже.

Официальные документы рекомендуют использовать curl для загрузки скрипта get-pip, но так как я работаю на windows и у меня не установлено curl, я предпочитаю использовать сам python для загрузки и запуска скрипта.

Вот однострочная программа, которая может быть запущена через командную строку с использованием Python 3:

python -c "import urllib.request; exec(urllib.request.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"

Эта строка получает официальный скрипт "get-pip.py" в соответствии с примечаниями по установке и выполняет скрипт командой "exec".

Для Python2 вы должны заменить "urllib.request" на "urllib2":

python -c "import urllib2; exec(urllib2.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"

Меры предосторожности
Стоит отметить, что запуск любого скрипта на python вслепую опасен по своей природе. По этой причине официальные инструкции рекомендуют скачать скрипт и проверить его перед запуском.

Тем не менее, многие люди на самом деле не проверяют код, а просто запускают его. Эта однострочная программа делает это проще.

У меня была похожая проблема на малиновом пи.

Проблема заключалась в том, что http требует SSL, и поэтому мне нужно было заставить его использовать https, чтобы обойти это требование.

sudo pip install --upgrade pip --index-url=https://pypi.python.org/simple

или же

sudo pip-3.2 --upgrade pip --index-url=https://pypi.python.org/simple/

Очень просто. Просто скачайте pip с https://bootstrap.pypa.io/get-pip.py. Сохраните файл в какой-нибудь фордер или декстоп. Я сохранил файл на моем диске D. Затем в командной строке перейдите в папку, в которую вы скачали pip. Тогда наберите там

python -get-pip.py

Скриншот установки Pip

В линукс

Я обновлю этот код

      sudo -H pip3 install --upgrade pip
Другие вопросы по тегам