Hemos estado analizando una gran cantidad de programación Python y hemos probado muchos paquetes de Python. Para hacer esto, por supuesto, necesitamos que Python esté instalado en la computadora en la que estamos trabajando. Como sabemos, Python viene con un administrador de paquetes fantástico llamado PIP. PIP hace que sea muy fácil descargar e instalar cualquiera de las fantásticas bibliotecas disponibles en Python. Aquí está el truco. A medida que comience a instalar más y más paquetes de software, podría tener algunos problemas. En software, muchas veces menos es más. Entonces, en lugar de instalar tantas bibliotecas de Python globalmente en su máquina, puede usar los entornos virtuales de Python y solo hacer uso de lo que se necesita para un proyecto en particular.


Biblioteca estándar de Python

Una vez que haya instalado Python, tendrá acceso a la biblioteca estándar de PythonUna biblioteca estándar en Python es la biblioteca disponible para tareas de programación comunes. Consiste en módulos integrados que brindan funcionalidad del sistema como entrada / salida, así como módulos escritos en Python que brindan soluciones estandarizadas para muchos problemas que ocurren en la programación diaria.


Python PIP

La biblioteca estándar de Python es excelente para hacer todo tipo de cosas con la programación de Python. Sin embargo, parte de la diversión de Python es hacer uso de todas las bibliotecas de Python disponibles. Por ejemplo, recientemente hemos estado trabajando bastante con Django Web Framework, y este es un ejemplo de cuándo tiene mucho sentido usar un entorno virtual en Python. Instalamos estos paquetes usando PIPPIP es el administrador de paquetes de Python. Es una herramienta que permite instalar bibliotecas que no forman parte de la biblioteca estándar. Una vez que comience a jugar con PIP, probablemente se encontrará instalando todo tipo de software en su máquina, ¡y esto es genial! El inconveniente, sin embargo, es que después de un tiempo, es posible que tenga tantas bibliotecas diferentes que comiencen a chocar y produzcan resultados inesperados. Aquí es donde entra en juego virtualenv .


Python Virtualenv

¿Qué es un entorno virtual de Python?

Un entorno de ejecución aislado cooperativamente que permite a los usuarios y aplicaciones de Python instalar y actualizar paquetes de distribución de Python sin interferir con el comportamiento de otras aplicaciones de Python que se ejecutan en el mismo sistema.

Comprobando la versión de Python

Ok, esto suena divertido, así que configuremos y trabajemos un entorno virtual. Para empezar, debemos asegurarnos de que Python esté instalado. Bastará con escribir python o python -v en la línea de comandos.

comprobar la versión de python

Si ingresó al shell de Python como acabamos de hacerlo, puede salir escribiendo exit () y luego presionando enter.

cómo salir del shell de Python

Verificación de la instalación de PIP

Vamos a utilizar PIP para instalar el módulo virtualenv, así que primero debemos asegurarnos de que PIP esté listo para funcionar. Simplemente escriba pip freeze en la terminal, y debería haber algún resultado que muestre todas las bibliotecas de Python instaladas actualmente.

salida de pip freeze

El resultado muestra que tenemos asgiref, astroid, autopep8, colorama, Django, django-debug-toolbar, isort, lazy-object-proxy, mccabe, MouseInfo, Pillow, PyAutoGUI, pycodestyle, PyGetWindow, pylint, PyMsgBox, pyperclip, PyScreeRect, PyScreeRect , PyTweening, pytz, six, sqlparse, virtualenv, virtualenvwrapper-win y wrapt instalados. Al usar un entorno virtual, podremos comenzar con una pizarra limpia.

Carpeta para contener envs virtuales

Puede crear o navegar a un directorio en su máquina para contener sus entornos virtuales. No es mala idea simplemente crear un nuevo entorno virtual para cada proyecto en el que trabaje. De esa manera, podría tener un entorno virtual para trabajar con Django, uno para Flask, uno para Numpy, etc. Simplemente usaremos una carpeta ubicada en /c/pythoncomo vemos.

salida hiper pwd

Instalar virtualenv

Ahora, en el símbolo del sistema en el directorio de su elección, simplemente escriba pip install virtualenvUna vez completado, debería poder ejecutar pip freezeuna vez más, y virtualenv debería ser uno de los softwares disponibles en la lista.

Agrega una carpeta para guardar tu virtualenv

Dentro de nuestra ruta elegida, /c/pythonagreguemos un directorio principal para contener el virtualenv que estamos a punto de crear. Podemos crear venv1 y luego cambiar a venv1.

directorio padre virtualenv

Crea un Virtualenv

¡Estamos listos para crear un entorno virtual! Escribiremos virtualenv .en la línea de comando así.

venv1 $ virtualenv.
Usando el prefijo base 'c: \ users \ yourname \ appdata \ local \ Programs \ python \ python38-32'
Nuevo ejecutable de Python en C: pythonvenv1Scriptspython.exe
Instalación de setuptools, pip, wheel ...
hecho

Ahora podemos escribir lsy deberíamos ver los nuevos archivos y carpetas como Incluir /, LICENCIA.txt, Lib /, Scripts / y tcl /.

contenido de la carpeta python virtualenv


¡Activar!

Todo está en su lugar. Antes de que pueda usar su nuevo virtualenv, debe activarlo . Esto se puede hacer escribiendo source ./Scripts/activateen la carpeta virtualenv. Esto debería activar virtualenv y debería aparecer un nuevo mensaje como (venv1) venv1 $ indicando que el entorno virtual venv1 ahora está activo.

activar los scripts de origen

Aviso No hay paquetes

Desde dentro de virtualenv, ahora puede volver a escribir pip freeze para enumerar los módulos de Python instalados. Pista: ¡Todavía no debería haber ninguna! Esta es su pizarra en blanco que está lista para su desarrollo.

pip freeze virtualenv

Instalar Django en Virtualenv

Django será el primer paquete que instalamos en este entorno virtual escribiendo pip install django . ¡Vamos a hacerlo!

(venv1) venv1 $ pip instalar Django
Coleccionando Django
  Usando Django-3.0.3-py3-none-any.whl almacenado en caché (7.5 MB)
Recolectando sqlparse> = 0.2.2
  Usando sqlparse-0.3.1-py2.py3-none-any.whl en caché (40 kB)
Recolectando pytz
  Usando pytz-2019.3-py2.py3-none-any.whl en caché (509 kB)
Recolectando asgiref ~ = 3.2
  Usando asgiref-3.2.3-py2.py3-none-any.whl en caché (18 kB)
Instalación de paquetes recopilados: sqlparse, pytz, asgiref, Django
Se instaló con éxito Django-3.0.3 asgiref-3.2.3 pytz-2019.3 sqlparse-0.3.1
(venv1) venv1 $ pip freeze
asgiref == 3.2.3
Django == 3.0.3
pytz == 2019.3
sqlparse == 0.3.1
(venv1) venv1 $

Al instalar Django, podemos ver que también se instalan algunas dependencias adicionales como asgiref, pytz y sqlparse. Ésta es la belleza de trabajar en entornos virtuales. Es como una forma de organizar y administrar su software, proyectos y código, sin tener que configurar una máquina virtual completa o un flujo de trabajo de contenedor.

Lanzar un proyecto de Django

Ahora sigamos adelante y creemos un nuevo proyecto Django dentro del entorno virtual que hemos configurado escribiendo django-admin startproject djangoproject .

nuevo proyecto django en virtualenv

¡Ejecutar el proyecto Django funciona!

(venv1) djangoproject $ python manage.py runserver
Observación de cambios de archivos con StatReloader
Realización de comprobaciones del sistema ...

La verificación del sistema no identificó problemas (0 silenciados).

Tiene 17 migración (es) sin aplicar. Es posible que su proyecto no funcione correctamente hasta que
aplicar las migraciones para aplicaciones: admin, auth, contenttypes, sesiones.
Ejecute 'python manage.py migrate' para aplicarlos.
03 de marzo de 2020-13: 08:56
Django versión 3.0.3, usando la configuración 'djangoproject.settings'
Iniciando el servidor de desarrollo en http://127.0.0.1:8000/
Salga del servidor con CTRL-BREAK.

¡Despegar!

entorno virtual django

Ahora detengamos el servidor con Ctrl-C.

detener el servidor django


Desactivar

Cuando termine de trabajar en un proyecto en particular en un entorno virtual, debe desactivar virtualenv. Para hacerlo, simplemente escriba deactivate en la línea de comando dentro del entorno virtual dado.

desactivar virtualenv


Resumen del entorno virtual de Python

El uso de Virtualenv no es obligatorio para el desarrollo de Python, especialmente cuando está comenzando. Al principio, todo lo que necesita hacer es instalar Python, y luego puede comenzar a jugar con el lenguaje aprendiendo sobre variables, declaraciones, expresiones, bucles, funciones, etc. A medida que comience a aprovechar más paquetes de Python utilizando el administrador de paquetes PIP, tiene sentido comenzar a aislar cada proyecto. Con este enfoque, aborda el problema de las dependencias y versiones y, a veces, los permisos. Imagina que tienes una aplicación que necesita la versión 1 de HappyTime, pero otra aplicación requiere la versión 2 de HappyTime. Si instala todo en su python host, terminará en una situación en la que dos paquetes tienen requisitos en conflicto. Para solucionar esto, configuramos un virtualenv para cada proyecto de Python diferente en el que trabajamos.

  • Aprendí qué es un entorno virtual de Python
  • Verificó nuestra versión de instalación de Python
  • Asegurado que PIP esté instalado
  • Se agregó un directorio para contener virtualenvs
  • Instaló el software virtualenv
  • Creó un nuevo virtualenv
  • Activó el virtualenv
  • Django instalado en un virtualenv
  • Creó un nuevo proyecto de Django en un virtualenv
  • Lanzó un servidor Django en un virtualenv
  • Desactivado el virtualenv