¿Python package virtualenv es necesario cuando uso python 3.3?

Estaba buscando en los paquetes de Python de Cristoph Gohlke y noté que hay un paquete Virtualenv para Python 3.3.

Ya que hay un paquete venv en la biblioteca estándar de python v3.3, me preguntaba si hay una ventaja para instalar este paquete por separado.

Edición: De la documentación de ambos paquetes, virtualenv 1.8.2 y venv puedo decir que el paquete de biblioteca estándar de venv carece de la funcionalidad de:

  1. Opción --no-site-packages
  2. elegir entre setuptools o distribuir
  3. incapacidad para instalar pip, ya que no está disponible en la instalación predeterminada de Python
  4. sin personalización del prefijo de solicitud dentro del entorno virtual --prompt=PROMPT

Si hay otras diferencias que no he podido detectar, escríbalas aquí.

Generalmente, el paquete virtualenv no es necesario cuando se usa python3.3 o posterior, ya que se incorporó a la biblioteca estándar a través de PEP 405 . Como se nota en la pregunta, hay algunas diferencias relativamente pequeñas entre las últimas versiones de virtualenv y el paquete venv en la biblioteca estándar. En parte (por ejemplo, --no-site-packages ) esto se deriva de las diferentes implementaciones. Dado que venv está en la biblioteca estándar, no tiene que saltar a través de algunos de los aros retorcidos que virtualenv hace para crear una instalación de Python independiente, como copiar gran parte del módulo del site de python.

El mejor recurso es leer el PEP a fondo.

para la pregunta

¿Python package virtualenv es necesario con venv en stdlib?

(o cuales son las diferencias?)

  1. --no-site-packages es el valor predeterminado en ambos. La --system-site-packages existe, pero está rota
  2. Distribuir está en desuso … no hay nada que ver aquí.
  3. Desde Python3.4, ensurepip proporcionará pip dentro del virtualenv. Para que funcione en Ubuntu / Debian, asegúrese de instalar el paquete python3-venv
  4. No hay cambios aquí

Cuando se anunció por primera vez venv, esperé que entrara en modo de mantenimiento, para proporcionar correcciones de errores en el “virtualenv para las antiguas pitones”, y todos los desarrollos cambiarían el enfoque en la versión estándar de venv. No estoy seguro de los objectives / la hoja de ruta del proyecto para virtualenv, pero me temo que lo que esperaba no está sucediendo. Entonces, al menos por el momento, seguiría usando el virtualenv original.

Pyvenv fue la herramienta recomendada para crear entornos virtuales para Python 3.3 y 3.4

A partir de python 3.5 usar:

python3 -m venv

Venv es un módulo incorporado con acceso a las partes internas de python

Pyvenv está en desuso en 3.6

Fuente: https://docs.python.org/3/library/venv.html