Означает ли использование virtualenvwrapper с Python3.3, что я не могу (или не должен) использовать pyvenv?

Virtualenvwrapper - это удобная оболочка для Python virtualenv.

Python 3.3 поставляется с pyvenv, встроенным в стандартную библиотеку, целью которой является замена virtualenv.

Но если я установлю Virtualenvwrapper на Python3.3, он все равно установит virtualenv, заставляя меня поверить, что он не использует 'pyvenv' под прикрытием.

Предположительно, это на самом деле не имеет значения - если я захочу использовать virtualenvwrapper на Python3.3, я должен с радостью позволить ему использовать virtualenv вместо pyvenv, и не будет (на данный момент) никаких вредных последствий?

1 ответ

Решение

Извините, этот ответ немного задерживается. pyvenv не ставит своей целью замену virtualenv, фактически virtualenv в Python 3 зависит от стандартного модуля venv библиотеки.

Команда pyvenv создает абсолютно минимальную виртуальную среду, в которую могут быть установлены другие пакеты.

Версия virtualenv для Python 3 фактически подклассирует реализацию стандартной библиотеки и предоставляет хуки для автоматической установки setuptools и pip в среду, которую pyvenv не делает самостоятельно.

Насколько я знаю, virtualenvwrapper зависит от virtualenv только потому, что команды mkvirtualenv или mkproject позволяют указать пакеты, которые будут установлены в новой среде, это работает только потому, что в virtualenv уже установлены setuptools и pip.

Поэтому, чтобы ответить на ваш вопрос, я полагаю, что вы должны иметь возможность использовать virtualenvwrapper в средах, созданных pyvenv, при условии, что вы будете следовать соглашениям virtualenvwrapper о том, куда помещать вещи, и вы либо вручную устанавливаете setuptools и pip в среду, либо не используете управление пакетами. особенности virtualenvwrapper.

Другие вопросы по тегам