Как обновить сам pip из моей виртуальной среды?
Я могу обновить pip-управляемые пакеты, но как я могу обновить сам pip? Согласно pip --version, в настоящее время у меня установлен pip 1.1 в моем virtualenv, и я хочу обновить его до последней версии.
какая команда для этого? Нужно ли мне использовать distribute или есть собственная команда pip или virtualenv? Я уже пробовал pip update и pip update pip без успеха.
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 версия 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