You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Los *entornos virtuales* son instalaciones locales de los paquetes que permiten un mejor control de los paquetes y sus versiones, minimizando el riesgo de incompatibilidades entre paquetes, evitar problemas debidos a la actualización descuidada de los mismos, etc.
Copy file name to clipboardExpand all lines: docs/entornos/venv.md
+28-79Lines changed: 28 additions & 79 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,75 +1,17 @@
1
+
---
2
+
tags:
3
+
- venv
4
+
- Modulos
5
+
- Entornos
6
+
---
1
7
2
8
3
-
# Entorno virtual: módulo VENV
4
9
5
10
6
-
## Entornos virtuales
7
-
8
-
Los *entornos virtuales* son instalaciones locales de los paquetes que permiten un mejor control de los paquetes y sus versiones, minimizando el riesgo de incompatibilidades entre paquetes, evitar problemas debidos a la actualización descuidada de los mismos, etc.
9
-
10
-
### Creación
11
-
12
-
Los entornos virtuales se construyen siguiendo los siguientes pasos:
13
-
14
-
1. Crear un directorio (es decir, una carpeta) independiente de la instalación de Python global,
15
-
típicamente en la ubicación del proyecto
16
-
o en una carpeta del usuario;
17
-
2. Crear una réplica del intérprete de Python o un enlace simbólico al mismo en el directorio.
18
-
3. Instalar los paquetes requeridos en dicho directorio,
19
-
permitiendo especificar qué versión se necesita de cada uno;
20
-
<!--
21
-
4. Crear una copia alterada de la variable **`PYTHONPATH`**, donde la primera ruta incluida será la del nuevo intérprete y sus dependencias.
22
-
5. Ejecutar el intérprete de Python local.
23
-
24
-
-->
25
-
<!--
26
-
creando una version alterada de la variable **PYTHONPATH** del intérprete en la que agragan al comienzo la ruta local con los paquetes del entorno.
27
-
-->
28
-
29
-
<!--
30
-
De esta manera el intèrprete de Python buscará sus dependencias primero en la ruta del entorno virtual y sólo si no encuentra los paquetes allí los busca en la instalacion global.
31
-
32
-
-->
33
-
34
-
35
-
Esto introduce algunas ventajas respecto al uso del intérprete global:
36
-
37
-
- Cada proyecto puede tener una versión diferente de un mismo paquete,
38
-
evitando conflictos de instalación y de actualización;
39
-
- Se evita la carga de paquetes no incluidos en el proyecto,
40
-
permitiendo entornos mejor controlados para cada proyecto;
41
-
- Es posible agregar enlaces simbólicos de múltiples versiones de Python,
42
-
lo cual permite ejecutar el proyecto con distintas versiones del mismo.
43
-
44
-
45
-
Como contrapartida aumenta el espacio en disco ocupado,
46
-
por cuanto cada entorno virtual tiene su propia copia de los paquetes.
47
-
48
-
49
-
### Activación
50
-
51
-
Los entornos virtuales requieren activación para su uso.
52
-
La activación del entorno virtual consiste en modificar
53
-
en la sesión actual
54
-
la variable **`PATH`** del sistema operativo,
55
-
colocándole al comienzo
56
-
la ruta del entorno virtual creado.
57
-
De esta manera el sistema operativo dará prioridad a los ejecutables y paquetes del entorno virtual respecto a sus equivalentes globales.
58
-
59
-
Por ejemplo: el intérprete global de Python en un sistema GNU/Linux
60
-
suele ser `/usr/bin/python`.
61
-
Dicha ruta puede ser consultada en la *shell* Bash con el comando `which`:
62
-
63
-
```bash title="Bash - Ruta de Python"
64
-
which python
65
-
```
66
-
Tras activar el entorno virtual,
67
-
al repetir la consulta el resultado cambia a una ruta de la forma `RUTA_ENTORNO/bin/python`.
68
-
69
11
70
12
## VENV
71
13
72
-
VENV es la herramienta integrada de Python para trabajar con entornos virtuales.
14
+
**`venv`** es la herramienta integrada de Python para trabajar con entornos virtuales.
73
15
Se incluye desde la versión 3.4.
74
16
75
17
### Creacion entorno virtual
@@ -180,27 +122,36 @@ deactivate
180
122
```
181
123
De esta manera se retoma el uso de los paquetes globales de manera inmediata.
182
124
125
+
### Uso sin activación
126
+
127
+
128
+
El intérprete local de Python puede ser ejecutado directamente a partir de su ruta.
129
+
Invocándolo directamente se ahorra el paso de activación de su entorno virtual.
130
+
131
+
Uso en Bash:
132
+
133
+
```bash title="Sin activación - interprete local"
134
+
ruta_entorno/bin/python # Linux y MacOs
135
+
ruta_entorno/Scripts/python # Windows
136
+
```
137
+
138
+
183
139
### Eliminar entorno virtual
140
+
184
141
El entorno virtual se elimina borrando los directorios auxiliares del entorno:
185
142
186
143
```bash title="Eliminar entorno"
187
144
deactivate
188
145
rm -r ruta_directorio # eliminacion recursiva
189
146
```
190
147
191
-
!!! warning "Eliminar entorno"
192
-
Prestar atención a que el código esté afuera del directorio del entorno virtual antes de eliminarlo.
193
-
194
-
195
-
148
+
!!! warning "Eliminar entorno"
196
149
197
-
## Alternativas a VENV
198
-
199
-
Existen alternativas para crear entornos virtuales. Algunas de ellas son:
200
-
201
-
-**VirtualEnv**
202
-
-**PIPENV**
203
-
-**Poetry**
150
+
Prestar atención a no incluir código del proyecto
151
+
adentro del directorio del entorno virtual.
152
+
De otro modo,
153
+
al eliminar el entorno virtual,
154
+
también se eliminaría parte del código de programa.
204
155
205
156
206
157
@@ -210,5 +161,3 @@ Existen alternativas para crear entornos virtuales. Algunas de ellas son:
210
161
[Documentación oficial - VENV](https://docs.python.org/3/library/venv.html)
211
162
212
163
[PythonLand - How to Create, Activate, Deactivate, And Delete](https://python.land/virtual-environments/virtualenv)
0 commit comments