Completo tutorial para principiantes virtualenv? [cerrado]

356

He estado escuchando el rumor sobre virtualenv últimamente, y estoy interesado. Pero todo lo que he escuchado es un puñado de elogios, y no tengo una comprensión clara de qué es o cómo usarlo.

Estoy buscando (idealmente) un tutorial de seguimiento que pueda llevarme desde Windows o Linux sin Python, y explicar cada paso de (sin ningún orden en particular):

  • qué debo hacer para poder comenzar a usar virtualenv
  • razones específicas por las que usar virtualenves una buena idea
  • situaciones donde puedo / no puedo usar virtualenv
  • situaciones en las que debería / no debería usar virtualenv

Y revise (de manera integral) un par de situaciones de muestra de la variedad should + can.

Entonces, ¿cuáles son algunos buenos tutoriales para cubrir estas cosas? O si tiene tiempo e interés, quizás pueda responder algunas de esas preguntas aquí. Ya sea en su respuesta, o como un enlace a tutoriales que la responden, estas son las cosas que me gustaría saber.

Dan Burton
fuente
66
Este artículo de dabapps simplifica los conceptos
suhair
2
Aquí hay un nuevo tutorial: realpython.com/blog/python/python-virtual-environments-a-primer
nofinator
Como novato de Python, estaba buscando una introducción directa a virtualenv (y pip) y acabo de pasar por esta: [ dabapps.com/blog/introduction-to-pip-and-virtualenv-python/] [1] [1]: dabapps.com/blog/introduction-to-pip-and-virtualenv-python esta excelente publicación de blog ha eliminado toda la frustración que tenía después de leer otras confusas / aproximadas.
Arnaud Bouchot
La guía oficial del usuario ?
sampablokuper

Respuestas:

245

Esto es muy bueno: http://simononsoftware.com/virtualenv-tutorial-part-2/

Y este es un poco más práctico: https://web.archive.org/web/20160404222648/https://iamzed.com/2009/05/07/a-primer-on-virtualenv/

Mark Pope
fuente
3
+1 Estoy de acuerdo en que eran buenos para un principiante como yo. Revisé ambos, ahora al menos sé lo que es y los conceptos básicos para obtenerlo / usarlo. (El segundo por alguna razón explicado activatepero descuidado deactivateo_O). Todavía espero más detalles sobre cuándo usarlo (y cuándo no), y ejemplos más profundos.
Dan Burton
1
Creo que la respuesta es usarlo siempre, de la misma manera que siempre debe usar el control de versiones.
mlissner
1
Tenga en cuenta que --no-site-packages está en desuso, y ahora es el comportamiento predeterminado.
Adrián López
1
Esto me dio una buena idea al respecto virtualenv. Recomendado para usar virtualenvwrapperque se mencionó en la parte posterior del documento.
gihanchanuka
2
Es curioso cómo, básicamente, ni un solo virtualenvtutorial en Internet, ni la guía del usuario de virtualenv , realmente le muestran cómo usar el entorno en su script Python. No está configurando un entorno solo por configurar un entorno. Encontré un tutorial que al menos te muestra la alternativa .
Forraje
34

Virtualenv es una herramienta para crear entornos aislados de Python.

Digamos que está trabajando en 2 proyectos diferentes, A y B. El proyecto A es un proyecto web y el equipo está utilizando los siguientes paquetes:

  • Python 2.8.x
  • Django 1.6.x

El proyecto B también es un proyecto web, pero su equipo está utilizando:

  • Python 2.7.x
  • Django 1.4.x

La máquina con la que está trabajando no tiene ninguna versión de django, ¿qué debe hacer? Instalar django 1.4? django 1.6? Si instala django 1.4 a nivel mundial, ¿sería fácil señalar a django 1.6 para que funcione en el proyecto A?

¡Virtualenv es tu solución! Puede crear 2 virtualenv diferentes, uno para el proyecto A y otro para el proyecto B. Ahora, cuando necesite trabajar en el proyecto A, simplemente active virtualenv para el proyecto A y viceversa.

Un mejor consejo al usar virtualenv es instalar virtualenvwrapper para administrar todos los virtualenv que tenga, fácilmente. Es un contenedor para crear, trabajar, eliminar virtualenv.

lborgav
fuente
1
Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia.
joce
2
Edité la respuesta y agregué más valor a la misma. Gracias por los comentarios
lborgav
8

Aquí hay otra buena: http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django/

Este muestra cómo usar pipy un archivo de requisitos de pip con virtualenv; Los dos tutoriales sugeridos de Scobal son muy útiles, pero ambos son easy_installcéntricos.

Tenga en cuenta que ninguno de estos tutoriales explica cómo ejecutar una versión diferente de Python dentro de un virtualenv; para esto, vea esta pregunta SO: Use una versión diferente de Python con virtualenv

Alex Dean
fuente
2

Para configurar virtualenv en una instalación limpia de Ubuntu, este tutorial de zookeeper me pareció el mejor: puedes ignorar las partes sobre zookeper. La documentación de virtualenvwrapper ofrece contenido similar, pero es un poco escaso al decirte qué poner exactamente en tu .bashrcarchivo.

metakermit
fuente