Подтвердить что ты не робот

Является ли python package virtualenv необходимым, когда я использую python 3.3?

Я смотрел Cythoph Gohlke python пакеты, и я заметил, что есть пакет Virtualenv для Python 3.3.

Поскольку в стандартной библиотеке python v3.3 есть пакет venv, мне было интересно, есть ли у него возможность установить этот пакет отдельно.

Изменить: из документации обоих пакетов virtualenv 1.8.2 и venv Я могу сказать, что в стандартном библиотечном пакете venv отсутствуют функциональные возможности

  • --no-site-packages опция
  • выбор между setuptools или распространением
  • невозможность установки pip, так как она недоступна в установке python по умолчанию.
  • нет настройки префикса приглашения внутри виртуальной среды --prompt=PROMPT

Если есть другие отличия, которые я не смог обнаружить, напишите их здесь.

4b9b3361

Ответ 1

Как правило, пакет virtualenv не требуется при использовании python3.3 или новее, поскольку он был включен в стандартную библиотеку через PEP 405. Как вы заметили в вопросе, существуют некоторые относительно небольшие различия между последними версиями virtualenv и венским пакетом в стандартной библиотеке. Частично (например, --no-site-packages) это связано с различными реализациями. Поскольку venv находится в стандартной библиотеке, ему не нужно перескакивать через некоторые из искаженных обручей, которые virtualenv делает для создания автономной установки python, такой как копирование большей части модуля python site.

Лучший ресурс - это действительно прочитать PEP.

Ответ 2

для вопроса

Требуется ли виртуальный виртуальный пакет python с venv в stdlib?

(или каковы различия?)

  • --no-site-packages - значение по умолчанию для обоих. Опция --system-site-packages существует, но она сломана
  • распространять устарел... здесь ничего не видно
  • Начиная с Python3.4, securitypip предоставит pip внутри virtualenv. Чтобы заставить его работать с Ubuntu/Debian, обязательно установите пакет python3-venv
  • Здесь нет изменений.

Когда venv был впервые анонсирован, я надеялся, что он попадет в режим обслуживания, чтобы исправить ошибки в "virtualenv для старых питонов", и все события сместили бы фокус на stdlib venv. Я не уверен в цели проекта/дорожной карте для virtualenv, но я боюсь, что то, чего я надеялся, не происходит. Итак, по крайней мере, пока я продолжаю использовать оригинальный virtualenv.

Ответ 3

pyvenv был рекомендованным инструментом для создания виртуальных сред для Python 3.3 и 3.4

Начиная с версии python 3.5:

python3 -m venv

venv - встроенный модуль с доступом к внутренним компонентам python

pyvenv устарел в 3.6

Источник: https://docs.python.org/3/library/venv.html