Я получаю сообщение об обновлении пипа
Всякий раз, когда я создаю venv, я получаю сообщение с просьбой обновить pip. Я запускаю команду для обновления, и она снова всплывает на другом venv. Как я могу сделать это постоянным.
Сообщение:
You are using pip version 9.0.1, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Обновление:
Только что получил рекомендацию прочитать этот возможный дубликат ответа: virtualenv использует обновленный системный пип по умолчанию
Это не решает мою проблему, хотя. Почему?
Мой pip3
, похоже, уже обновлен:
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip --version
pip 18.0 from c:\users\mkupfer\appdata\local\programs\python\python36-32\lib\sit
e-packages\pip (python 3.6)
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip3 --version
pip 18.0 from c:\users\mkupfer\appdata\local\programs\python\python36-32\lib\sit
e-packages\pip (python 3.6)
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip3 install --upgrade pip
Requirement already up-to-date: pip in c:\users\mkupfer\appdata\local\programs\p
ython\python36-32\lib\site-packages (18.0)
Решено
Решение: мне удалось все это исправить, используя virtualenv
для создания новой виртуальной среды. Не уверен, что это ошибка в venv
. Я просто буду использовать пакет, который работает в будущем. Спасибо @James Lim за ответ.
Ответы
Ответ 1
Проблема заключается в том, что новые виртуальные среды используют старую версию pip. Обратите внимание, что pip устанавливается из исходного tarfile (или колеса), включенного в virtualenv, в каталог site-packages/virtualenv_support
.
$ ls -l /path/to/site-packages/virtualenv_support
pip-9.1-py2.py3-none-any.whl
Быстрый способ обхода проблемы заключается в том, чтобы убедиться, что вы обновляете pip каждый раз, когда вы создаете новый virtualenv, например:
$ virtualenv venv
$ venv/bin/pip install -U pip
Кроме того, убедитесь, что у вас установлена последняя версия virtualenv. Согласно их примечаниям к выпуску, virtualenv==16
использует pip==10
.
$ pip install -U virtualenv
Наконец, поскольку virtualenv ищет pip*.whl
в virtualenv_support
, это также будет работать:
$ mv /path/to/site-packages/virtualenv_support/pip*.whl{,bak}
$ pip wheel -w /path/to/site-packages/virtualenv_support/ 'pip==18'
Все новые virtualenvs будут использовать версию pip, которую вы установили в virtualenv_support
. Однако это чувствует себя взломанным.
(Попытка с virtualenv==16
Это приводит к появлению всех новых virtualenvs с pip == 18.)
Ответ 2
Для меня похоже, что у вас несколько сред python, и в одном из них нет обновленного пипа. У вас есть 2 варианта:
- перейдите к каждой из этих папок и обновите каждый пип
- вы можете удалить все из них, переустановить и использовать virtualenv в будущем с правильным пиком
- установите некоторую среду IDE (например, PyCharm), которая может автоматически обрабатывать это для вас и визуально отображать все проблемы
Ответ 3
Обновить pip из файла bat:
call .\venv\Scripts\activate
py -m pip install --upgrade pip
call deactivate
Или, если вы используете встроенный терминал VS Code
& venv/Scripts/activate.ps1
py -m pip install --upgrade pip
Ответ 4
при обновлении pip удалит старую версию, но если старая версия находится в другом месте, она не может, поэтому заканчивается двумя разными версиями pip. Проверьте свои установки на корневой PYTHONPATH. Также PYTHONPATH может быть не таким, как системный путь.
Ответ 5
Вот решение вашей проблемы.
Шаг 1 :
запустите эту команду в вашей оболочке или ноутбуке Jupyter
он безопасно загрузит get-pip.py из pypa
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
шаг 2 :
запустить ниже код
python get-pip.py