0% encontró este documento útil (0 votos)
14 vistas

Administrar Versiones de Python

El documento describe tres herramientas (venv, pyenv y pyenv-virtualenv) para administrar múltiples versiones de Python y entornos virtuales. Explica cómo usar venv para crear entornos virtuales ligeros, pyenv para instalar y cambiar entre versiones de Python, y pyenv-virtualenv para trabajar con Python 2 y entornos virtuales.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas

Administrar Versiones de Python

El documento describe tres herramientas (venv, pyenv y pyenv-virtualenv) para administrar múltiples versiones de Python y entornos virtuales. Explica cómo usar venv para crear entornos virtuales ligeros, pyenv para instalar y cambiar entre versiones de Python, y pyenv-virtualenv para trabajar con Python 2 y entornos virtuales.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Foro Donar

Aprender a codi�car — gratis 3,000-horas currículo

17 DE ABRIL DE 2023 / #PYTHON

Cómo administrar múltiples


versiones de Python y
entornos virtuales
Traductor: Gibran Pelayo M.

Autor: Dominic Fraser (Inglés)

Original article: How to manage multiple Python


versions and virtual environments

1 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Foro Donar
Actualización de enero del 2019: Si estás regresando a este blog después
Aprender a codi�car — gratis 3,000-horas currículo
de actualizar a macOS Mojave, por favor consulta este tema de github
para solucionar el problema común de pyenv 'zlib no disponible'.

Antes de empezar, repasemos brevemente los términos usados en el


título:

• Múltiples versiones de Python: Diferentes instalaciones de


Python en la misma máquina, por ejemplo, 2.7 y 3.4.

• Entornos virtuales: entornos independientes aislados que


pueden tener tanto una versión especí�ca de Python como
de cualesquiera paquetes especí�cos de proyecto instalados
en ellos, sin afectar a otros proyectos.

Aquí se verán tres herramientas diferentes para trabajar con estos, y


cuándo puede que se necesite cada una. Exploremos los casos de
uso para:

• venv / pyvenv

• pyenv

• pyenv-virtualenv

Si se está usando una sola versión de Python, como la versión 3.3+, y


se quieren administrar diferentes entornos virtuales, entonces
venv es todo lo que se necesita.

Si se quieren usar múltiples versiones de Python en 3.3+, con o sin


entornos virtuales, entonces hay que leer sobre pyenv .

2 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Si también se quiere trabajar con Python 2, entonces pyenv-


Foro Donar
virtualenv es una herramienta a considerar.
Aprender a codi�car — gratis 3,000-horas currículo

Desde Python 3.3+ el paquete venv está incluido. Es ideal para


crear entornos virtuales ligeros.

Hasta Python 3.6 un script llamado pyvenv también se incluyó


como envoltorio de venv , pero ya es obsoleto. Se eliminará por
completo en Python 3.8. La misma funcionalidad está disponible
cuando se usa venv , y cualquier documentación existente debe ser
actualizada. Para quien esté interesado, puede leer las razones
detrás de la depreciación de pyvenv .

venv se usa para crear un nuevo entorno mediante la terminal de


comandos:

$ python3 -m venv nombre-del-directorio-a-crear

se activa con:

$ source nombre-dado/bin/activate

y se desactiva simplemente con:

3 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Foro Donar
$ deactivate

Aprender a codi�car — gratis 3,000-horas currículo

Si se necesita eliminar el entorno por completo después de


desactivarlo, se puede ejecutar:

$ rm -r nombre-dado

Por defecto, el entorno que se crea será de la versión actual de


Python que se está usando. Si se está escribiendo documentación y
se quiere la seguridad adicional de que la versión correcta de Python
está siendo usada por el lector, se puede especi�car el número de
versión mayor y menor en el comando de este modo:

$ python3.6 -m venv example-three-six

Si el lector utiliza una versión distinta de la 3.6, entonces el comando


no tendrá éxito y lo indicará en su mensaje de error. Sin embargo,
cualquier versión de parche (por ejemplo 3.6.4) funcionará.

Cuando el entorno está activo, cualquier paquete puede ser


instalado ahí mediante pip de manera normal. Por defecto, el
entorno recién creado no incluirá ningún paquete ya instalado en la
computadora. Como el propio pip no estará necesariamente
instalado en la computadora, se recomienda que primero se
actualice pip a la última versión usando pip install --upgrade
pip .

4 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Foro Donar
Los proyectos comúnmente tendrán un archivo requirements.txt
Aprender
especi�cando a codi�car — gratis
sus dependencias. 3,000-horas
El siguiente currículo
comando pip install
-r requirements.txt instalará rápidamente todos los paquetes al
recién creado entorno virtual. Esos paquetes solo existirán en dicho
entorno virtual. No estarán disponible cuando se desactive el
entorno virtual, pero persistirán cuando se reactive nuevamente.

Si no se necesita usar versiones adicionales de Python, entonces


esto es todo lo que se requiere para crear entornos virtuales
aislados y especi�cos del proyecto.

Si se desea usar múltiples versiones de Python en un solo equipo,


entonces pyenv es una herramienta comúnmente usada para
instalar y cambiar entre versiones. Esto no se debe confundir con el
script depreciado pyvenv mencionado anteriormente. No viene de
paquete con Python, y debe ser instalado por separado.

La documentación de pyenv incluye una amplia descripción de


cómo funciona, por lo que aquí se verá simplemente como usarlo.

Primero se necesita instalarlo. Si se usa Mac OS X, esto se consigue


usando Homebrew, de lo contrario hay que considerar otras
opciones de instalación.

$ brew update
$ brew install pyenv

5 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Después, se agrega lo siguiente al �nal de nuestros scripts de shell Donar


Foro
para permitir que pyenv cambie automáticamente las versiones:
Aprender a codi�car — gratis 3,000-horas currículo

eval "$(pyenv init -)"

Para hacerlo, abre el script de shell en uso mediante $ ~∕.zshrc , $


~∕.bashrc o $ ~∕.bash_profile y copia y pega la línea anterior.

El ejecutar pyenv versions mostrará qué versiones de Python


están actualmente instaladas, con un * al lado de la que está
actualmente en uso. pyenv version muestra esto directamente, y
python --version puede ser usado para veri�carlo.

Para instalar una versión adicional, como la 3.4.0 , simplemente se


usa pyenv install 3.4.0 .

pyenv busca en cuatro lugares para decidir cuál versión de Python


usar, en orden de prioridad:

1. La variable de entorno PYENV_VERSION (si se especi�ca). Se


puede usar el comando pyenv shell para establecer esta
variable de entorno en la sesión de shell actual.

2. El archivo .python-version especí�co de la aplicación en el


directorio actual (si está presente). Se puede modi�car el
archivo .python-version del directorio actual con el
comando pyenv local .

3. El primer archivo .python-version encontrado (si hay


alguno) buscando en cada directorio padre, hasta llegar a la
raíz del sistema de archivos.

6 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Foro
4. El archivo de versión global. Se puede modi�car este archivo Donar

usandoAprender
el comando pyenv —
a codi�car global . Si el archivo
gratis 3,000-horas de versión
currículo
global no está presente, pyenv asume que se quiere usar el
Python del "sistema". (En otras palabras, cualquier versión
que se ejecutaría si pyenv no estuviera en el PATH .)

Al crear un nuevo proyecto que va a usar Python 3.6.4, entonces


pyenv local 3.6.4 se ejecutaría en su directorio raíz. De este
modo, se establecería tanto la versión como la creación de un
archivo .python-version , para que los equipos de otros
colaboradores lo recojan.

La descripción completa de los comandos pyenv es algo para


marcar.

Cuando se trabaja con Python 3.3+ ahora se sabe cómo instalar y


cambiar entre diferentes versiones de Python, así como crear
nuevos entornos virtuales.

Como ejemplo, digamos que se está con�gurando un proyecto que


va a usar Python 3.4.

Primero se podría establecer la versión local usando pyenv local


3.4.0 .

Si luego se ejecuta python3 -m venv proyecto-de-ejemplo un


nuevo entorno virtual se crearía bajo proyecto-de-ejemplo , usando
Python 3.4.0 habilitado localmente.

7 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Se activa usando source proyecto-de-ejemplo∕bin∕activate


Foro y se Donar
puede empezar a trabajar.
Aprender a codi�car — gratis 3,000-horas currículo

Luego se podría documentar opcionalmente que un colaborador


debería usar python3.4 -m venv <nombre> . Esto signi�ca que
incluso si un colaborador no estaba usando pyenv, el comando
python3.4 marcaría error si su versión de Python no era la misma
versión mayor y menor (3 y 4), como se pretendía.

Como alternativa, se podría elegir a especi�car simplemente que la


versión 3.4.0 se iba a ser usado, e instruir a python3 -m venv
<nombre> . Si se cree que cualquier versión mayor a 3.4 es aceptable,
entonces también se puede optar por usar python3 sobre
python3.4 , ya que si el colaborador estuviera usando 3.6 entonces
también recibiría un error. Esta es una decisión especí�ca de
proyecto.

pyenv puede ser usado para instalar ambas versiones de Python 2 y


3. Sin embargo, como se ha visto, venv está limitado a las versiones
de Python superiores a la 3.3.

pyenv-virtualenv es una herramienta para crear entornos


virtuales integrada con pyenv , y funciona para todas las versiones
de Python. Aun así se recomienda usar el venv o�cial de Python
donde sea posible. Pero si, por ejemplo, se está creando un entorno
virtual basado en 2.7.13 , entonces esto complementa a pyenv .

Esto también funciona bien con los ambientes conda de Anaconda y


Miniconda si ya se están usando. También existe una herramienta
llamada virtualenv . No se cubre aquí, pero hay un enlace al �nal.

8 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Foro Donar
Después de instalar pyenv puede ser instalado usando Homebrew
Aprender a codi�car — gratis 3,000-horas currículo
(u otras alternativas) de la siguiente manera:

$ brew install pyenv-virtualenv

Después, en .zshrc , .bashrc , o .bash_profile (dependiendo de la


shell que se use) se agregan estas líneas al �nal:

eval "$(pyenv init -)"


eval "$(pyenv virtualenv-init -)"

Esto permite a pyenv activar y desactivar entornos


automáticamente al mover directorios.

Para crear un nuevo entorno virtual, se usa:

$ pyenv virtualenv <version> <nombre-a-dar>

// por ejemplo

$ pyenv virtualenv 2.7.10 mi-entorno-virtual-2.7.10

Los entornos existentes se pueden listar con:

9 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Foro Donar
$ pyenv virtualenvs

Aprender a codi�car — gratis 3,000-horas currículo

Activar/desactivar con:

$ pyenv activate <nombre>


$ pyenv deactivate

Al momento de escribir esto, cuando se usa activate la advertencia


prompt changing will be removed from future release se
muestra en pantalla. Esto es de esperarse y se re�ere únicamente al
(nombre-entorno) siendo desplegado en el shell, no al uso del
comando activate en sí.

La instalación de requerimientos funciona como se describe en


venv . A diferencia de venv , un comando rm -r no es necesario
para remover un entorno, pues existe un comando uninstall .

Entre estas tres herramientas, se tiene la habilidad de colaborar en


cualquier proyecto, sin importar la versión de Python o de las
dependencias requeridas. También se sabe ahora cómo documentar
las instrucciones de con�guración para que otros las usen para
cualquier proyecto en el que se trabaje.

También se puede ver el razonamiento detrás de cuál conjunto usar,


ya que no todos los desarrolladores necesitarán los tres.

Espero esto haya sido de ayuda y es una referencia útil en

10 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

combinación con la documentación cuyos enlaces se muestran


Foro a Donar
continuación.
Aprender a codi�car — gratis 3,000-horas currículo

¡Gracias por leer!

Traductor: Gibran Pelayo M.


Eternal learner. One life isn't enough to learn and enjoy all the beautiful
things this world has to offer!

Autor: Dominic Fraser (Inglés)


Edinburgh, Scotland.

If you read this far, thank the author to show them you care.
Say Thanks

Aprende a codi�car de forma gratuita. El plan de estudios de código


abierto de freeCodeCamp ha ayudado a más de 40,000 personas a
obtener trabajos como desarrolladores. Empezar

ANUNCIO

11 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Foro Donar

Aprender a codi�car — gratis 3,000-horas currículo

freeCodeCamp is a donor-supported tax-exempt 501(c)(3) charity organization (United States


Federal Tax Identi�cation Number: 82-0779546)

Our mission: to help people learn to code for free. We accomplish this by creating thousands of
videos, articles, and interactive coding lessons - all freely available to the public.

Las donaciones a freeCodeCamp van dirigidas a nuestras iniciativas educativas y ayudan a


pagar servidores, servicios y personal.

Puedes hacer una donación deducible de impuestos aquí .

12 of 13 12/05/24, 14:36
Cómo administrar múltiples versiones de Python y entornos ... https://www.freecodecamp.org/espanol/news/administrar-m...

Foro Donar
Guías de tendencias
Aprender a codi�car — gratis 3,000-horas currículo
Git Clone Métodos Agile Python Main
Callback Debounce URL Encode
Blink HTML Python Tupla JavaScript Push
Java List UX Proceso de Diseño
Números Primos Diseño de Producto Digital Design
Juegos de Código SVM JavaScript forEach
Google BERT Create Table SQL Diseño Web Responsive
¿Qué es un archivo SVG? PDF Password Remover ¿Qué es un Archivo PDF?
What Is Python? ¿Qué es TLS? ¿Qué es una red LAN?
¿Qué es npm? Ejemplos de RSync Random Forest

Mobile App

Our Charity

Acerca de Red de ex-Alumnos Código abierto Tienda Soporte Patrocinadores

Honestidad Académica Código de Conducta Política de privacidad Términos de servicio

Política de derechos de autor

13 of 13 12/05/24, 14:36

También podría gustarte