Я работаю с virtualenvs в Докер, и я думаю, что есть несколько причин:
- вы можете изолировать приложения из пакетов питона системы
- вы можете запустить специальную версию питона, но прежнему держать пакеты системы нетронутыми
- вам может понадобиться точный контроль зерна на пакетах, установленных для конкретного приложения
- вам может понадобиться для запуска нескольких приложений с различными требованиями
Я думаю, что это все достаточно веские причины, чтобы добавить немного pip install virtualenv
в конце установки! :)
Дальнейшая изоляция никогда не бывает плохой, особенно потому, что она не вызывает накладных расходов. И я считаю, что это хорошая привычка. –
Я должен добавить: virtualenv не является виртуальной машиной. Ни Докер. virtualenv просто создает копию интерпретатора python и создает отдельное место для библиотек, выделяя, где вы храните свои зависимости. Почти такая же концепция для Docker, вы сохраняете свои зависимости в слоях, и вы изолируете части памяти, процессор, память, сеть и т. Д. Для вашего контейнера, вы не запускаете полную ОС. –
Единственная причина, по которой я вижу когда-либо использовать virtualenv, - это если вы столкнулись с системной зависимостью, например. компонент ОС использует другую версию python lib. –