Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

¿Qué es un entorno virtual?

4/21
Recursos

Aportes 110

Preguntas 26

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Aprendí sobre los entornos virtuales gracias al Curso de Creación Lenguajes de Programación: Intérpretes, la idea es sencilla, de hecho el concepto es similar al de los contenedores de Docker, como profesional empezarás a requerir de trabajar diversos proyectos que trabajen con diferentes versiones, ya sea del lenguaje o de algún módulo.
.
Sería una catástrofe tener que instalar y actualizar módulos para cada proyecto cuidando que ninguno se rompa, porque fácilmente podrías actualizar un módulo que, para un proyecto funcione, pero para otro deje de funcionar, es por eso que se crea el concepto de entornos virtuales.
.
Este concepto lo tienen muchos lenguajes, y lo genial es que soluciona muy bien el problema de la compatibilidad entre proyectos, porque cada entorno virtual es independiente y funciona con las versiones que se les hayan instalado ahí mismo 😄.

Resumiendo lo que dice la documentación de Python sobre Entornos Virtuales
.
Un entorno virtual es un directorio que contiene una instalación de Python de una versión en particular, además de unos cuantos paquetes adicionales.
.
Ejemplo:
La aplicación A puede tener su propio entorno virtual con la versión 1.0 instalada mientras que la aplicación B tiene otro entorno virtual con la versión 2.0. Si la aplicación B requiere que actualizar la librería a la versión 3.0, ésto no afectará el entorno virtual de la aplicación A.
.
https://docs.python.org/es/3/tutorial/venv.html

Resumen
|
Los entornos virtuales son de mucha utilidad ya que nos ayudan a tener versiones especificas de librerías o módulos a un proyecto sin afectar a otros. De esta forma en el mismo equipo pueden coexistir distintos proyectos con distintas versiones de la misma librería o modulo.
|
Sin usar entorno virtual

con entornos virtuales

Para los curiosos, el inconveniente que resuelven los ambientes virtuales se presenta porque Python guarda todos los paquetes de terceros en un solo directorio. Lo problemático aquí de Python es que guarda estos paquetes solo por nombre, y no por nombre y versión. Esto hace que si dos proyectos diferentes instalan, o requieren un mismo paquete pero con una versión diferente, entonces Python los almacenará en el mismo directorio por su nombre y cuando intente obtener uno o el otro, no podrá diferenciarlos.

Un paso más para crear proyectos maravillosos 👑

.
Los entornos virtuales tan simples y a veces, tanto dolor de cabeza que dan, ayudan mucho a aislar el entorno donde desarrollamos nuestros proyectos. También pueden utilizar Pyenv para manejar los ambientes virtuales y versiones de Python.

Esta clase es importante!!! No pases de los ambientes virtuales!!!
Te cuento mi experiencia:
De nuevo cuando estaba en pañales hace varios años preferí ignorar este tema de entornos virtuales; me parecía que no era necesario si todos mis proyectos los haría con las mismas librerías que tuviera que aprender a hacer ambientes virtuales y hacer esos pasos extras.

Pero oh boy cuando empecé a colaborar con otras personas, por no hacer entornos virtuales rompí mi sistema operativo completo, grave en plan sólo tenía acceso a la terminal de emergencia de Ubuntu. Resulta ser que el python que Ubuntu trae por defecto lo utiliza (o utilizaba) el SO para algunas cosas importantes y al meterme con los paquetes que estaban instalados de manera global pues rompí alguna dependencia y dejó de funcionar correctamente.

Hints y Anotacion de funciones

Se tiene la creencia que en Python no se debe especificar el tipo de dato del argumento de una funcion al momento de pasarlo. Sin embargo, existe la opcion de especificarlo.

https://www.python.org/dev/peps/pep-0008/#other-recommendations

Ejemplo

Sin anotacion de funciones

def sum(a, b):
return a + b

Con anotacion de funciones

def sum(a: int, b: int) -> int:
	return a + b

Un entorno virtual funciona como un Python separado para cada proyecto, dónde tiene los módulos que este necesita y nostros podemos gestionar si traer otro, o si actualizarlos para que bajo este entorno, el código siempre funcione.
PD: Un módulo es código escrito por otra persona para resolver más rápido un problema que estamos abarcando nosotros. Es decir no volvemos a crear la misma solución que ya existe, sino que la usamos.

Entorno virtual:

Varios proyectos en el PC funcionan en Python la cual tiene varios módulos.

Modulo: es código escrito por otro desarrollador para resolver un problema, el cual podemos utilizar sin tener que crear el código. Ej. modulo Random.–

¿Que pasa cuando se actualiza un modulo?
En palabras simples puede dejar de funcionar un proyecto

¿Como se resuelve?
Creando un entorno virtual, que es tener una versión de Python actualizada para unos proyectos y otra versión aislada para otros.

Entorno de desarrollo virtual o env: Un entorno de desarrollo virtual python o simplemente entorno virtual python es un mecanismo que me permite gestionar programas y paquetes python sin tener permisos de administración, es decir, cualquier usuario sin privilegios puede tener uno o más “espacios aislados”. Donde poder instalar distintas versiones de programas y paquetes python. Para crear los entornos virtuales vamos a usar el programa virtualenv o el módulo venv y para instalar paquetes python vamos a usar el programa pip.
.
.
Pypi(Python package index): Es un repositoro de paquetes de terceros que se pueden utilizar para proyectos en python, estos paquetes generalmente traen codigo que podemos utilizar para proyectos desde funciones clases y metodos que nos haran la vida mas facil al momento de desarrollar proyectos.

✨ Un entorno virtual nos permite tener un Python separado para cada proyecto.

conda env list
#Crear el ambiente virtual y los paquetes que se instalen
conda create --name py35 python=3.5 pandas
conda activate py35
conda list
conda list pandas
conda update pandas
# Intentar actualizar pandas, no se puede pq python 3.5 no lo soporta
conda install pandas=1.2
#actualizar python y  pandas
conda install python=3.9 pandas=1.2
#clonar ambientes
conda create --name py39 --copy --clone py35
#Ir al nuevo ambiente con python 3.9
conda activate py39

conda deactivate
conda deactivate

<h3>Notas:</h3>
<pre><code>$ conda create --name <span class=“hljs-comment”>[nombre]</span> <span class=“hljs-comment”>[paquete]</span>=<span class=“hljs-comment”>[versión]</span>
</code></pre>
<p>Si no hay se especifíca una versión, se instalará la última disponible.</p>
<p>Para ver los paquetes(si no se especifican los paquetes, dará una lista de los ambientes virtuales):</p>
<pre><code><span class=“hljs-variable”>$ </span>conda list [paquete]
</code></pre>
<p>Para activar y desactivar los ambientes:<br>
<code>$ conda activate [nombre del ambiente]</code> y <code>$ conda deactivate</code><br>
Para actualizar paquetes:</p>
<pre><code><span class=“hljs-variable”>$ </span>conda update [paquete]
</code></pre>
<p>Para instalar un paquete específico:</p>
<pre><code>$ conda install <span class=“hljs-comment”>[paquete]</span>=<span class=“hljs-comment”>[versión]</span>
</code></pre>
<p>Para clonar un ambiente:</p>
<pre><code><span class=“hljs-comment”>$</span> <span class=“hljs-comment”>conda</span> --<span class=“hljs-comment”>name</span> <span class=“hljs-title”>[</span><span class=“hljs-comment”>nuevo</span> <span class=“hljs-comment”>ambiente</span><span class=“hljs-title”>]</span> --<span class=“hljs-comment”>copy</span> --<span class=“hljs-comment”>clone</span> <span class=“hljs-title”>[</span><span class=“hljs-comment”>ambiente</span><span class=“hljs-title”>]</span>
</code></pre>

🚨🚨🚨
En resumen el entorno virtual permite aislar las dependencias de los proyectos en Python

Entorno Virtual

  • Son una manera de tener distintas versiones de python y sus respectivos paquetes (modulos).
  • En otras palabras creamos una carpeta en la que almacenamos la versión de python con las versiones de los módulos con los que trabajamos nuestro proyecto.
  • Esto es importante puesto que una actualización de un módulo puede romper nuestro programa (instrucciones que ya no existen o cambiaron de nombre)

El entorno por lo tanto representa un Python separado para un solo proyecto que tiene sus propios módulos.

Comparto mis apuntes de la clase:

Para activar el entorno virtual en git bash el comando es el siguiente:

. venv/Scripts/activate

se debe dejar un espacio luego del ‘.’

Un entorno de desarrollo virtual python o simplemente entorno virtual python es un mecanismo que me permite gestionar programas y paquetes python sin tener permisos de administración, es decir, cualquier usuario sin privilegios puede tener uno o más “espacios aislados” (ya veremos más adelante que los entornos

Dentro de nuestro lenguaje de programación (Python) tenemos varios proyectos en ese lenguaje, por lo que la estrategia más adecuada de manejarlos, es replicando la instalación de Python para cada Proyecto, pero esta réplica del lenguaje, funciona como un contenedor, que te permite hacer todo lo que quieras, sin afectar los proyectos de al lado ¡O incluso el Python o tu compu!

Entorno virtual: Espacio aislado para un solo proyecto que tiene sus propios modulos.

Agradezco mucho que hayan incluido esta clase.

Antes no me quedaba claro que era un entorno. Sin embargo en otros cursos , de Platzi y otros, empezábamos creando entornos virtuales pero no sabía el porqué.

Este tipo de clases hacen la diferencia entre los cursos

Wow, ahora Python310 permite usar paréntesis.
Ahora se admite el uso de paréntesis para la continuación en varias líneas en los administradores de contexto.
Me parece que a veces si se necesitan, pero hablando de la sintaxis de python daña un poco lo lindo de la sintaxis del lenguaje.
Volvemos a Java y esos lenguajes antiguos jaja

Es muy útil ya que tu puedes darle soporte a proyectos con versiones anteriores y el entorno virtual te permite aislar ese proyecto para que tu lo puedas trabajar sin afectar a otros proyectos que tengas con otras versiones del lenguaje/framework.

Imagen #1: Varios proyectos con un único entorno virtual y a su vez con varios módulos
Imagen#2 : El proyecto numero 4 falla cuando se actualiza el modulo 2 puesto que no tiene un entorno virtual independiente para este mismo
Imagen#3 : Entornos virtuales independendientes para cada proyecto con sus respectivos módulos
Imagen#4 : Los proyectos del 1 al 3 con el modulo 2 actualizado a su v2 y el modulo 4 continua con su v1 del modulo 2 lo que hace que este no falle, todo esto se da gracias a que cada proyecto tiene un entorno virtual diferente y esto hace que se pueda elegir en que entorno virtual de actualiza algún modulo o no

En un entorno virtual uno puede en cada proyecto importar distintos tipode de modulos, en uno importas random y pandas, en otro importas mathpy y requests.

Módulo -> Código escrito por otra persona que podemos usar nostros para resolver un problema de manera rápida. Por ejemplo, el módulo de números aleatorios.

En un entorno virtual tendremos diferentes proyectos, cada uno con una versión específica de Python y solamente funcionará para ese proyecto en particular.

Este fue mi resumen de la clase, me confirman si está bien?

Qué es un entorno virtual?.

  • Qué es un modulo: Es código desarrollado por personas experimentadas, que podemos utilizar…

Python aislado para cada uno de los proyectos que realicemos. Tiene sus propios módulos y que en el caso de que necesitemos actualizar algún modulo lo podemos hacer de manera individual, sin afectar los demás proyectos, pues estamos trabajando con un entorno virtual (python) en cada uno de ellos.

estoy pensado o deduciendo asi como lo esplicaron que en cada proyecto existe un python, de tal forma que el proyecto que de adecua a una nueva versión de Python, hara un control de versiones entre los modulos existentes en otros proyectos. Si esa es la idea me parece que la entendi…??

un entorno virtual es como tener python separado por proyecto con sus respectivos modulos (llamar otro codigo que está realizado) de esta manera cuando uno quiera actualizar algunos de los modulos solo lo actualizamos en el proyecto que se necesita, porque pueda que al momento de actualizarlo dañe alguno de los proyectos, el gran poder de un entorno virtual.

En mi experiencia he tenido que participar en proyectos que ocupan un mismo paquete pero que por “extrañas” razones uno lleva respecto al otro 3 o 4 versiones de diferencia que han tenido cambios mayores y el proyecto es lo suficientemente grande o falto de prioridad de actualización mayor que no se harán cambios para llevarlo a la versión más reciente ¿Cuál proyecto debería tener preferencia? ¿Y qué sucederá cuando quiera volver a desarrollar en el que tiene la versión anterior? La respuesta ¡Usar entornos virtuales!

Las pautas planteadas en la documentación de Py desde lsus PEPS 8; posee convenciones de codificación muy al detalle, considerar el máximo de caracteres por línea de código (79 caracteres) y por línea de comentario (72 caracteres), es una muestra de lo meticuloso que se presenta Python para la estética.

Notas 😄
¿Qué es un entorno virtual?

  • Un módulo es código escrito por otra persona que a nosotros nos sirve para resolver un problema de manera rápida (no reinventar la rueda 😆).
  • En principio, cada proyecto funciona dentro de nuestra instalación de Python, el cual tiene varios módulos. Cuando actualizamos un módulo para un proyecto, puede haber problemas con el resto de los proyectos 😵.
  • Para resolver esto, usamos entornos virtuales, donde tenemos una copia de Python (aislada) en cada proyecto, con módulos independientes en cada entorno 😄.

Un módulo es código escrito por otra persona para resolver más rápido un problema que estamos abarcando nosotros. Es decir no volvemos a crear la misma solución que ya existe, sino que la usamos.

  • Un entorno virtual en python es un espacio aislado que contiene una versión particular de módulos y librerías.

¿Qué es un entorno virtual?

Recordemos el concepto de modulo. Un modulo es codigo escrito por otra persona para poder resolver un problema de forma rápida. Aprovechamos el trabajo de alguien mas que ya ha realizado para poder utilizarlo en nuestro trabajo. Para no reinventar la rueda, incorporamos los módulos para trabajar de forma mas rapida y eficiente.

Entorno Virtual: Es ese Python que está aislado y que tiene sus propios módulos para poder funcionar tranquilamente sin que le afecte las actualizaciones de los otros.

Imagina que tienes tu computadora. En tu computadora corre tu programa Python y tienes guardados varios proyectos que ya haz desarrolla anteriormente.

Dentro de los proyectos haz usado modulos para poder facilitar tu trabajo. Asi con unamos el modulo Random( ) para poder crear los números aleatorios.

Cuando se actualiza los módulos ocurren los problemas. Porque los proyectos pueden tener líneas de código con referencia a los módulos. Si un modulo se actualiza y una línea de código se elimina de dicho modulo, esto afectara al Proyecto y tendrá un error.

Para resolver esto creamos un entorno donde tendremos un Python para cada proyecto. Gracias a esto podemos elegir que módulos podemos actualizar y cuales no para de esta manera no tengamos problemas con la ejecución de nuestro proyecto.

MÓDULO: Código escrito por otras personas que nos sirve para hacer nuestros proyectos más rápidamente. Algunos módulos que usamos habitualmente son el Random, Math, String, entre muchos otros.

Un ENTORNO VIRTUAL nos permite tener una versión de Python independiente para cada uno de los proyectos al igual que módulos independientes. Esto permite que en caso de necesitar actualizar alguno de los módulos en algún proyecto, esto no afecte a los demás.

Módulo es código escrito por otro desarrollador y que podemos usar para resolver nuestro código.

De acuerdo a lo que entendí, podría decir que un entorno virtual es un contenedor en el que tenemos un proyecto y una versión de Python u otro lenguaje de programación independiente para el mismo, lo que nos permite trabajar en él sin afectar otros proyectos y además evitamos problemas de compatibilidad entre nuestro proyecto y los módulos usados.

Pr eso es clave haber visto el curso de Conda, ahí se explica de principio a fin la necesidad de los entornos y como controlarlos.

Los entornos virtuales son muy utiles porque nos ayudan a seleccionar el software y la version especifica que necesitamos de cada paquete adiconal, para desarrollar cada proyecto de acuerdo a la ncesidad.

Ya se me hacia raro que no se mencionara en el curso anterior, fue de las primeras cosas que aprendi al usar python con django y ahora que retomo los cursos ya por fin lo veo

Muy entendible esta versión de los entornos virtuales

Un entorno virtual es un directorio que contiene una instalación de Python o otros lengaujes de una versión en particular, además de unos cuantos paquetes adicionales.

Ejemplo Virtual Environments and Packages

Entornos Virtuales en Python

Se trata de una herramienta que permite instalar módulos o paquetes en versiones específicas para cada proyecto, evitando así instalarlos de forma general para todos.

De esta forma, si el proyecto “A” necesita la versión 2.4 de determinado paquete, pero el proyecto “B” necesita la 2.5, cada uno puede usar la versión del paquete que requiere, en su propio entorno aislado.

Se me ocurrio una analogia que les parece.

Una analogia piensa que un ambiente es una ciudad de un pais y que diferente tiene cada pais, bueno cada uno tiene sus ciudades y su cultura pero todos estan hechos en espacios fisicos. Osea un ambiente ceria una ciudad y cada uno de esto tiene sus modulos y librerias en diferentes versiones que serian la cultura y las obras de arte.

me llamo la atención el tema de conservar el maximo de caracteres por lineas que no deben superar los 72 a 79 caracteres. los imports siempre deben ir en lineas separadas. las reglas para colocar los espacios , los cuales no deben excederse tales como, evitar indiatamente despues de una coma o un punto y coma; 2) inmediatamente despues de parentesis o corchetes; 3) entre una coma y un parentesis de cierre;4) despues de abrir un parentesis ; 5) mas de un espacio antecediendo un operador;6) si hbalamos de funciones siempre deben tener espacio cuando se use los dos puntos. 7) usar espacio al rededor de un signo si y solo si necista combinar un argumento con un valor.

4 - ¿Qué es un entorno virtual?

Un entorno virtual es un directorio que contiene una instalación de Python de una versión en particular, además de unos cuantos paquetes adicionales.

Son de mucha utilidad ya que nos ayudan a tener versiones especificas de librerías o módulos a un proyecto sin afectar a otros. De esta forma en el mismo equipo pueden coexistir distintos proyectos con distintas versiones de la misma librería o modulo.

Ejemplo:

La aplicación A puede tener su propio entorno virtual con la versión1.0 instalada mientras que la aplicación B tiene otro entorno virtual con la versión 2.0. Si la aplicación B requiere que actualizar la librería a la versión 3.0 , ésto no afectará el entorno virtual de la aplicación A.

entorno virtual es lo que vimos en ese gráfico es ese python aislado a un solo proyecto que tiene sus propios módulos y esta pensado para funcionar únicamente con ese proyecto, eso es un entorno virtual.

RECORDATIO (¿Qué es un módulo?) :
Un módulo básicamente es código escrito por otra persona que nosotros nos sirve para resolver un problema de manera rápida, es decir, para no reinventar la rueda para nosotros no desarrollar una solución que hizo ya otro desarrollador, aprovechamos el trabajo que este mismo ha realizado y lo incorporamos en nuestro código.

Información resumida de esta clase
#EstudiantesDePlatzi

  • Un módulo es código escrito por otra persona que me ayuda a solucionar un problema de manera rápida

  • Puede que algunos de nuestros proyectos dejen de funcionar cuando se actualizan los módulos

  • Para solucionar esto debemos crear un entorno virtual para cada proyecto

  • El entorno virtual es ese Python que tiene sus propios proyectos y módulos

Tabs or Spaces?
Spaces are the preferred indentation method.

Tabs should be used solely to remain consistent with code that is already indented with tabs.

Python disallows mixing tabs and spaces for indentation.

Hmmmm

Clase 4/21 - Python Intermedio


Que es un entorno virtual?

Es un python separado para un solo proyecto que tiene sus propios modulos (o actualizacion)

Que es un modulo?

Un modulo es codigo escrito por otra persona
que a nosotros nos sirve para resolver un problema de manera rapida.

Para evitar reinventar la rueda!

Por ej: Modulo RANDOM


Me llamo mucho la atención el porque espaciar en otras lineas cuando son o serán listas algo largas o que crecerán porque básicamente plantea que para un tema de control de versión será más sencillo encontrar cuál fue el parámetro que cambio de la lista si lo tenemos en distintas lineas que si lo tenemos en una sola!

  • Acá un ejemplo de lo que es correcto:
# Correct:
FILES = [
    'setup.cfg',
    'tox.ini',
    ]
initialize(FILES,
           error=True,
           )
  • Acá un ejemplo de lo incorrecto:
# Wrong:
FILES = ['setup.cfg', 'tox.ini',]
initialize(FILES, error=True,)

Pareciera no tener mucho sentido pero si has visto el curso de Git o lo has usado sabes que será más fácil ver cual fue el cambio si lo tienes en distintas lineas. Y es algo que PEP8 te sugiere.

Qué es un Entorno Virtual

  • Un entorno virtual es una herramienta para mantener espacio separado para un proyecto con sus dependencias y librerías en un lugar. Este entorno es específico para el proyecto particular y no interfiere con las dependencias de otros proyectos.

Por ejemplo, puedes trabajar en un proyecto X que está usando la versión 1.0 de la librería Z y también mantener al proyecto Y que está usando la versión 2.0 de la librería Z.

¿Cómo Funcionan los Entornos Virtuales?

  • La herramienta de entorno virtual crea una carpeta dentro del directorio del proyecto. Por defecto, la carpeta es llamada venv, pero puedes renombrarla también. Mantiene archivos Python y pip ejecutables dentro de la carpeta de entorno virtual. Cuando el entorno virtual es activado, los paquetes instalados después de eso son instalados dentro de la carpeta de entorno virtual de proyecto específico.

Muy buena explicación

Entiendo que un entorno virtual se usa para que los programas de forma independiente puedan funcionar con diferentes versiones del programa

Había escuchado que trabajaban contenedores con diferentes versiones y por fin entendí

El entorno virtual es muy importante a la hora de trabajar en equipo !

Una explicación muy buena del porqué utilizar entornos virtuales 😃

Genial!

algo sobre la documentación: ¿Debe romperse una línea antes o después de un operador binario?
Durante décadas, el estilo recomendado fue romper después de los operadores binarios. Pero esto puede dañar la legibilidad de dos maneras: los operadores tienden a dispersarse en diferentes columnas en la pantalla, y cada operador se aleja de su operando y pasa a la línea anterior. Aquí, el ojo tiene que hacer un trabajo extra para saber qué elementos se suman y cuáles se restan

Se pasó el profe. Explica de manera muy lúdica, clara y con buen tono de voz

excelente clase

Entorno virtual: Un entorno virtual es una versión especifica de python y de los paquetes que utiliza el proyecto para asegurar que el correcto funcionamiento del programa.

Según el glosario contenido en la documentación de Python, se define el entorno virtual, como el entorno cooperativamente aislado de ejecución que permite a los usuarios de Python y a las aplicaciones instalar y actualizar paquetes de distribución de Python sin interferir con el comportamiento de otras aplicaciones de Python en el mismo sistema.

Un entorno virtual de aprendizaje es un espacio educativo alojado en la web, un conjunto de herramientas informáticas que posibilitan la interacción didáctica de manera que el alumno pueda llevar a cabo las labores propias de la docencia como son conversar, leer documentos, realizar ejercicios, formular preguntas al docente, trabajar en equipo… etc. Todo ello de forma simulada sin que medie una interacción física entre docentes y alumnos.

Cuando hablamos de Entorno Virtual de Aprendizaje (EVA) o en ingles Virtual learning environment (VLE), también conocido por las siglas LMS (Learning Management System), a todos se nos viene a la cabeza Moodle, el más conocido y extendido EVA del mercado. El más extendido entre otras cosas porque se trata de un programa de código abierto, es decir de licencias gratuita. Nacido a la vera de las universidades, cuna del software libre.

Conviene no confundir entorno virtual de aprendizaje con ERP educativo, que ya explicábamos en otro post . El primero tiene que ver con el proceso de enseñanza, el segundo con la gestión más bien administrativa de organizaciones docentes.

La primera y más extendida funcionalidad de un entorno virtual de aprendizaje es la de ser un repositorio de documentos, un lugar para poner a disposición de los alumnos todo tipo de documentos y también sites, blogs con enlaces a otros sitios de contenido. Digamos que esa es la funciona más primaria de un entorno virtual de aprendizaje pero también debe de permitir entregar trabajos, examinar online (incluso con límites de tiempo y resultados instantáneos), hacer encuestas, ver calificaciones, poner avisos, videoclases. Por supuesto permite comunicarse alumnos con profesores sin tener que coincidir en el tiempo ni por supuesto en el mismos espacio físico. De hecho se trata de romper esas barreras de espacio/tiempo.

Ni que decir tiene que un entorno virtual de aprendizaje que se precie debe de ser accesible desde cualquier sitio y, en estos momentos, también desde cualquier dispositivo. Por ultimo decir que los EVAS no están delimitados a la formación online o a distancia sino que son una herramienta complementaria a la formación presencial en muchas ocasiones.

Que es un entorno virtual?

En entorno virtual es un python aislado para solo UN proyecto que tiene sus propios modulos.

En otras palabras es crear un sitio unico para nuestro proyecto, donde tendra todo aparte, cosa que si se actualiza algun modulo yo decida si el proyecto realmente necesita o no la actualizacion.

Yo lo suelo relacionar con un bebe para recordarlo
(data:image/jpeg;base64,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)

Este curo no deja de sorprenderme!!, gracias Facundo

¿ Qué es un enorno virtual en python? Es un Python separado para un ùnico proyecto.Podemos instalar las dependencias que queramos sin afectar el python global

Entorno virtua: Es un Python separado para un ùnico proyecto.

¿Qué es un entorno virtual?
Un entorno virtual es comando para crear un directorio que contiene una instalación de Python de una versión en particular, además de unos cuantos paquetes adicionales.

Esto se utiliza con el fin de evitar problemas en la instalación de Python cumplir los requerimientos de todas las aplicaciones.

El Entorno Virtual se crear y maneja con un script es pynev.pyvenvque instalará la versión más reciente de Python que este disponible; posterior seleccionas una versión de Python especifica ejecutando python3 o la versión que desees.

Para crear el entorno virtual, decide en que carpeta quieres crearlo y ejecuta el módulo venv como script con la ruta a la carpeta y se estructura el comando:

python3 -m venv tutorial -env

Una ya vez creado el entorno virtual, podrás activarlo ejecutarlo de la siguiente manera:

En Windows, ejecuta: tutorial -env\Scripts\activate.bat
En Unix o MacOS, ejecuta: source tutorial -env/bin/activate

Para mas información deja lo parte en especifico de la creación de entornos:
https://docs.python.org/es/3/tutorial/venv.html

Necesitaba que me explicaran esto porque experimentando un poco tenia problemas con las versiones.
Después de este curso voy a aprender sobre Docker.

Que es un entorno virtual

Un Python aislado para cada proyecto que tiene sus propios módulos.

Modulo: código escrito por otra persona que nos sirve resolver un problema sin reinventar la rueda.

¿Qué son los ambientes virtuales?

Un entorno virtual es un espacio independiente a tu instalación local, con el objetivo de aislar los recursos y librerías. Gracias a este concepto podemos tener distintos entornos virtuales con diferentes versiones de Python o de una librería concreta. Por ejemplo, podríamos tener un entorno virtual con la versión 2.7 de Python para construir una aplicación y simultáneamente puede existir otro entorno virtual con la versión 3.6 de Python.

Un entorno virtual es una configuración especifica de Python y sus módulos para un proyecto en especial. Al mismo tiempo lo aísla y la protege de cualquier cambio en otros entornos y proyectos

Estos cambios sobre algun modulo tendria que ser según PEP 387 – Backwards Compatibility Policy sobre modulo privados.

Concepto de entorno virtual

¿Qué ocurre si se actualiza un módulo?

Entorno virtual

Módulo

Les recomendaría la clase de entornos virtuales del Curso de POO y Algoritmos con Python
"Los ambientes virtuales permiten aislar el ambiente para poder instalar diversas versiones de paquetes"

Sin duda algo que no había aprendido a pesar de ya haber trabajado con programación.

Entorno virtual : personalizar las librerías el código para cada uno de los proyectos

vale, creo que entendi el concepto

módulos que se ven en los cursos anteriores y que aplica para poder resolver un problema mas grande

Muy clara explicación.

Un entorno virtual funciona como un Python separado para cada proyecto, dónde tiene los módulos que este necesita y nostros podemos gestionar si traer otro, o si actualizarlos para que bajo este entorno, el código siempre funcione.

MIS NOTAS

modulo: codigo escrito por otra persona que nos sirve para incorporarlo en el propio codigo y “No reinventar la rueda”.

entorno virtual: es la clonacion del leguaje de programacion para evitar las actualizaciones de alguno de los modulos que estructuran en un proyecto.

Módulo

Código escrito por otra persona que sirve para resolver un problema específico de forma rápida.

Entorno Virtual

Es un ambiente aíslado para un solo proyecto con sus propios modulos y archivos que está pensado para funcionar únicamente en ese proyecto.

ojalá lo hubiera sabido antes de actualizar mis paquetes-módulos 😦

Un entorno virtual es cuando trabajamos con una versión del lenguaje de programación, que, se mantenga así para que cuando hay una actualización no se rompa nuestro proyecto.

Qué forma tan sencilla y precisa para describir lo que es un entorno virtual. Thanks a lot

Buena explicacion, habia escuchado del termino pero no tenia muy claro como funcionaba y para que servia.

Muy bueno!

osea versiones en cada proyecto