несоответствие версии пипа в venv - PullRequest
0 голосов
/ 22 сентября 2018

Я не совсем понимаю, как работают виртуальные среды Python (Python 3.6, с использованием venv).Я настроил свой venv и активировал его в командной строке.Я ожидаю, что все, что я делаю с тех пор, использует команды python и pip из виртуальной среды (так как эти каталоги добавляются в PATH при активации).

Дело в том, что когда я запускаю pip --version в моем venv, он возвращает pip 10.0.1.Но когда я пытаюсь обновить его до python -m pip install --upgrade pip, я получаю Requirement already up-to-date

(venv) PS C:\Python\files\myproj> pip --version
> pip 10.0.1 from c:\python\files\myproj\venv\lib\site-packages\pip-10.0.1-py3.6.egg\pip (python 3.6)
(venv) PS C:\Python\files\myproj> python -m pip install --upgrade pip
> Requirement already up-to-date: pip in c:\python\files\myproj\venv\lib\site-packages (18.0)

Так что же происходит?Почему команда командной строки не нацелена на тот же pip, что и python?И как это исправить?

1 Ответ

0 голосов
/ 22 сентября 2018

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

Это означает, что когда вы запускаете pip --version, вы получаете глобальную версию пипса.когда вы запускаете python -m pip install --upgrade pip, вы используете версию python для venv, которая, очевидно, уже имеет самый новый пипс.Чтобы подтвердить это, вы можете запустить python -m pip --version и получить последнюю версию в качестве вывода.

...