Ejercicio: Creación y administración de un archivo del proyecto

Completado

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.

  1. Ejecute venv env para crear un entorno virtual denominado env:

    python -m venv env
    

    Ahora debería ver un nuevo subdirectorio env.

  2. 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.

  1. 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
    
  2. 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)
    
  3. Agregue el contenido siguiente a requirements.txt.

    python-dateutil==2.8.2
    six==1.16.0
    
  4. 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.

  1. 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.

  2. 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.