Как мне обновить сам 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
В линукс
Я обновлю этот код
sudo -H pip3 install --upgrade pip