Ejercicio: Creación y administración de un archivo del proyecto
En este ejercicio, trabajará en un proyecto de Python que ha creado un compañero. Lo ha obtenido de GitHub y necesita restaurarlo para poder trabajar con él. Es posible que también tenga que actualizar las dependencias.
Creación de un entorno virtual
Antes de empezar, cree un entorno virtual y acceda a él. Al hacerlo, se aísla del resto de la máquina. El entorno debe estar aislado para que no afecte al resto de la máquina al instalar bibliotecas.
Ejecute
venv env
para crear un entorno virtual denominado env:python -m venv env
Ahora debería ver un nuevo subdirectorio env.
Para activar el entorno virtual, ejecute el siguiente comando en Windows:
C:\ .. \env\Scripts\activate
O bien, este comando en Linux, WSL o macOS:
source env/bin/activate
El símbolo del sistema debe comenzar por
(env)
para indicar el nombre del entorno virtual.
Instalación de dependencias para un proyecto
Tiene acceso a algún código fuente y a un archivo requirements.txt. El archivo .txt contiene las bibliotecas que desea descargar. Debe descargar estas bibliotecas para que el programa funcione según lo previsto.
Cree el directorio src y los archivos necesarios desde el terminal.
Ejecute los siguientes comandos en Windows, una línea a la vez:
md src cd src type nul > app.py type nul > requirements.txt
O bien, estos comandos en Linux, WSL o macOS, una línea a la vez:
mkdir src cd src touch app.py touch requirements.txt
Estos son los archivos:
src/ app.py requirements.txt
Agregue el contenido siguiente a app.py:
from datetime import * from dateutil.relativedelta import * now = datetime.now() print(now) now = now + relativedelta(months=1, weeks=1, hour=10) print(now)
Agregue el contenido siguiente a requirements.txt.
python-dateutil==2.8.2 six==1.16.0
Ejecute
pip install
para instalar las bibliotecas especificadas en requirements.txt:pip install -r requirements.txt
Verá una salida similar al texto siguiente:
Collecting python-dateutil==2.8.2 Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) Collecting six==1.16.0 Using cached six-1.16.0-py2.py3-none-any.whl (11 kB) Installing collected packages: six, python-dateutil Successfully installed python-dateutil-2.8.2 six-1.16.0
¡Enhorabuena! Ha restaurado correctamente un proyecto que solo contenía archivos de aplicación y un archivo requirements.txt.
Actualización de un paquete
Imagine que el proyecto que ha creado usa una versión anterior de la biblioteca python-dateutil
. Además, el equipo le ha pedido que instale solo correcciones. En otras palabras, el equipo quiere que actualice la versión de revisión y que no instale una actualización principal, ya que esto podría ser arriesgado para la aplicación y podría interrumpirla.
Vamos a simular primero estar en una versión anterior de python-dateutil
.
Ejecute
pip install
:pip install python-dateutil==2.7.4
Otras versiones se desinstalarán antes de instalar la versión especificada:
Installing collected packages: python-dateutil Attempting uninstall: python-dateutil Found existing installation: python-dateutil 2.8.2 Uninstalling python-dateutil-2.8.2: Successfully uninstalled python-dateutil-2.8.2 Successfully installed python-dateutil-2.7.4
Ahora, debería estar en la versión 2.7.4. A continuación, quiere intentar actualizar a la versión de revisión más reciente.
Ejecute
pip install --upgrade
:pip install "python-dateutil==2.7.*" --upgrade
La última línea de la salida debe decir "Correctamente instalado python-dateutil-2.7.5". Esto significa que ha actualizado el paquete observando el número situado más a la derecha.
¡Enhorabuena! Ha actualizado la biblioteca de forma responsable.