Анастасия Козырева

В уроке про установку pip  мы устанавливали и обновляли pip в пользовательском окружении. Сейчас, когда создается виртуальное окружение, появилось сообщение:

You are using pip version 10.0.1, however version 19.2.3 is available. You should consider upgrading via the 'pip install --upgrade pip' command.

Получается, новое окружение создается полностью "голое", построенное на глобальном?

Ну, и если я захочу обновить pip или любой другой пакет в виртуальном окружении, то нужно ввести н.у команду в запущенном во. Это никак не повлияет на глобальное?

python3 -m pip install --upgrade pip

2 0

Новое окружение создаётся так:

  • создаются нужные директории
  • в нужное место копируется интерпретатор -- тот, которым вы запускаете -m venv
  • копируются базовые библиотеки (те, что в комплекте с Python идут)
  • копируется pip -- тот, который установлен в системе или в пользовательском окружении

В результате и окружение получается самодостаточное (оно будет работать даже на компьютере без установленного Python) и при этом ничего не скачивается из сети -- было бы неприятно не иметь возможности создать окружение в оффлайне.

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

Можно поступить иначе: даже без активации окружения вызывайте команду по прямому пути вроде .venv/bin/pip3 или .venv/bin/python3 -m pip и изменения опять же коснутся только ВО.

Иногда удобнее именно второй способ. Например -- в скриптах автоматизации. К тому же это способ -- самый явный, т.к. в этом случае нельзя забыть активировать окружение :)

0

Супер, спасибо! Попробую на практике:)

0
Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →