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



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



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

1041   12  

12 ответов:

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

pip install --upgrade pip

в Windows рекомендовано команду - это:

python -m pip install --upgrade pip

более безопасным методом является запустите pip, хотя модуль python:

python -m pip install -U pip

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

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

исправления:

(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)

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

python3 -m pip install --upgrade pip

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

python -m pip install --upgrade pip

это сработало, и я хорошо идти.

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

python -m pip install --upgrade pip

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

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

python.exe -m pip install --upgrade pip

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

python -get-pip.py

Pip installation screenshot

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

Однострочная Программа 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.по запросу" с "urllib2":

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

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

Comments

    Ничего не найдено.