Pip: Gestión de paquetes en Python
92 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es la forma correcta de desinstalar un paquete usando pip?

  • pip clear beautifulsoup4
  • pip remove beautifulsoup4
  • pip uninstall beautifulsoup4 (correct)
  • pip delete beautifulsoup4
  • Si deseas instalar paquetes desde un archivo de texto, ¿qué comando deberías utilizar?

  • pip install -r requirements.txt (correct)
  • pip install --file requirements.txt
  • pip install -f requirements.txt
  • pip install +r requirements.txt
  • ¿Cuál es la longitud máxima recomendada para las líneas de código en Python según PEP 8?

  • 60 caracteres
  • 72 caracteres
  • 79 caracteres (correct)
  • 100 caracteres
  • ¿Qué se debe incluir al inicio del documento según las pautas de PEP 8?

    <p>Las sentencias import</p> Signup and view all the answers

    ¿Qué estilo se recomienda para nombrar variables y funciones en PEP 8?

    <p>Usar solo minúsculas y separar palabras con _</p> Signup and view all the answers

    ¿Cómo se deben separar las funciones de alto nivel y definiciones de clase?

    <p>Con 2 líneas en blanco</p> Signup and view all the answers

    ¿Qué error se comete al utilizar una sentencia import según PEP 8?

    <p>Incluir múltiples módulos en una sola sentencia</p> Signup and view all the answers

    ¿Cuál es la principal función de una API en el desarrollo de software?

    <p>Facilitar la comunicación entre aplicaciones y servicios.</p> Signup and view all the answers

    ¿Qué ventaja proporciona el uso de APIs en el desarrollo de aplicaciones?

    <p>Facilidad para la innovación y simplificación del diseño.</p> Signup and view all the answers

    Qué aspecto de la seguridad se debe considerar al utilizar librerías o módulos en aplicaciones que consumen APIs?

    <p>Las librerías potencialmente pueden causar daños serios.</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones sobre el desarrollo de APIs es correcta?

    <p>Consumo de APIs de terceros es una práctica común en el desarrollo de software.</p> Signup and view all the answers

    ¿Qué implica la comunicación a través de una API?

    <p>Intercambio de datos sin necesidad de entender la implementación.</p> Signup and view all the answers

    ¿Cuál es una función común de los comentarios en Python?

    <p>Planificar la estructura del código</p> Signup and view all the answers

    ¿Qué característica NO es esencial en la documentación técnica del software?

    <p>La opinión del autor sobre el software</p> Signup and view all the answers

    En Python, ¿qué nivel de registro se debe ajustar para capturar información de nivel INFO y niveles inferiores?

    <p>DEBUG</p> Signup and view all the answers

    ¿Cuál de los siguientes NO es un uso apropiado de la biblioteca 'logging' en Python?

    <p>Comprimir archivos de registro</p> Signup and view all the answers

    ¿Por qué es importante que la documentación sea creada por quienes escriben el código?

    <p>Para asegurar un seguimiento adecuado y mantenimiento</p> Signup and view all the answers

    ¿Qué nivel de registro se utilizaría para mostrar eventos críticos que requieren atención inmediata?

    <p>CRITICAL</p> Signup and view all the answers

    ¿Cuál de los siguientes elementos es importante incluir en la documentación de soporte comunitario?

    <p>Listas de correo y foros</p> Signup and view all the answers

    ¿Qué aspecto de los registros en Python se considera más crucial durante la depuración de una aplicación?

    <p>El origen y la naturaleza de la excepción</p> Signup and view all the answers

    ¿Cuál de los siguientes tipos de errores se detecta durante la fase de desarrollo inicial en lenguajes compilados?

    <p>Errores de sintaxis</p> Signup and view all the answers

    ¿Qué tipo de error podría ocurrir al intentar acceder a un archivo que no existe?

    <p>Error de tiempo de ejecución</p> Signup and view all the answers

    Al sumar un número entero con una cadena en Python, ¿qué tipo de error se genera?

    <p>TypeError</p> Signup and view all the answers

    ¿Cuál de las siguientes estrategias es útil para identificar errores lógicos en el programa?

    <p>Implementar pruebas controladas</p> Signup and view all the answers

    ¿Qué se sugiere implementar para evitar que se ingresen tipos de datos inadecuados como argumentos en una función?

    <p>Usar excepciones para manejar errores</p> Signup and view all the answers

    En el contexto de errores, ¿qué significa que un código sea 'robusto'?

    <p>Que puede manejar casos inesperados sin fallar</p> Signup and view all the answers

    ¿Cuál es un componente esencial para detectar errores de sintaxis en lenguajes interpretados?

    <p>Realizar pruebas al código</p> Signup and view all the answers

    ¿Cuál de los siguientes es un posible error en la implementación lógica de una función?

    <p>Condiciones no contempladas en el flujo lógico</p> Signup and view all the answers

    ¿Cuál es la función principal de la cláusula finally en el manejo de excepciones?

    <p>Cerrar archivos y liberar recursos incluso si se producen errores</p> Signup and view all the answers

    ¿Qué excepción se puede manejar utilizando una declaración try y except en el caso de que un archivo no se encuentre?

    <p>FileNotFoundError</p> Signup and view all the answers

    ¿Qué se logra al manejar múltiples excepciones en una única declaración except?

    <p>Se simplifica el código al manejar errores similares de manera conjunta</p> Signup and view all the answers

    ¿Cuál es el propósito de la declaración try en el manejo de excepciones?

    <p>Definir un bloque de código que podría generar una excepción</p> Signup and view all the answers

    Cuando se utiliza el bloque finally, ¿qué garantía se tiene sobre la ejecución de su contenido?

    <p>Se ejecuta siempre, independientemente de que ocurra una excepción</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones sobre las excepciones estándar es correcta?

    <p>Existen excepciones estándar para situaciones de errores predecibles y no predecibles</p> Signup and view all the answers

    ¿Qué puede ocurrir si un bloque try no tiene un bloque except correspondiente?

    <p>Se lanzará un error y el programa se detendrá</p> Signup and view all the answers

    En el contexto del manejo de excepciones, ¿qué implicaría un uso incorrecto de las declaraciones try y except?

    <p>Utilizar un bloque except para manejar excepciones no relevantes</p> Signup and view all the answers

    ¿Cuál es el propósito de permitir ingresar argumentos desde la invocación de un script en línea de comandos?

    <p>Facilitar la reutilización y personalización del script</p> Signup and view all the answers

    En el ejemplo proporcionado, ¿qué representa 'sys.argv'?

    <p>Los argumentos enviados al script desde la línea de comandos</p> Signup and view all the answers

    ¿Qué implicación tiene que un script de Python se ejecute en un entorno Linux o iOS con una 'shebang'?

    <p>Se define el intérprete que debe usarse para ejecutar el script</p> Signup and view all the answers

    Al imprimir 'sys.argv[1:]', ¿qué información se está mostrando?

    <p>Los argumentos adicionales proporcionados al script</p> Signup and view all the answers

    Si un script se ejecuta sin proporcionar argumentos, ¿qué puede resultar de esto según el uso de 'sys.argv'?

    <p>Mostrará una lista vacía para 'sys.argv[1:]'</p> Signup and view all the answers

    ¿Qué función realiza la biblioteca 'argparse' en Python?

    <p>Asignar nombres y tipos a argumentos desde la línea de comandos.</p> Signup and view all the answers

    En el código proporcionado, ¿qué hará 'parser.parse_args()'?

    <p>Leer argumentos de la línea de comandos y asignarlos a la variable 'params'.</p> Signup and view all the answers

    ¿Qué se debe especificar para agregar un nuevo argumento utilizando 'add_argument'?

    <p>El tipo de dato que debe tener el argumento.</p> Signup and view all the answers

    En el código, ¿qué hará 'print(params.param1)' si no se proporciona un argumento 'param1' al ejecutar el script?

    <p>Imprimirá 'None'.</p> Signup and view all the answers

    Cuando se llama a un script de Python que utiliza 'argparse', ¿cuál es la forma correcta de pasar el argumento 'param1'?

    <p>--param1 valor</p> Signup and view all the answers

    ¿Cuál es la principal función de un entorno virtual en Python?

    <p>Aislar las dependencias específicas de un proyecto de las instaladas globalmente.</p> Signup and view all the answers

    Al crear un entorno virtual en Windows, ¿cuál de las siguientes secuencias de comandos es correcta para activarlo?

    <p>venv\Scripts\activate</p> Signup and view all the answers

    ¿Qué se requiere hacer para desactivar un entorno virtual una vez activado?

    <p>deactivate</p> Signup and view all the answers

    ¿Cuál es el propósito principal de utilizar 'virtualenvwrapper' junto con 'virtualenv'?

    <p>Facilitar la creación y gestión de múltiples entornos virtuales.</p> Signup and view all the answers

    ¿Qué comando se utilizaría para instalar las dependencias de un proyecto desde un archivo de requerimientos una vez activado el entorno virtual?

    <p>pip install -r requirements.txt</p> Signup and view all the answers

    ¿Cuál es la principal función de pythonw.exe en comparación con python.exe?

    <p>No crea ninguna ventana de terminal y es ideal para programas con interfaz gráfica.</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones es correcta respecto a la ejecución de programas en terminal?

    <p>Un programa .py puede iniciar otro solamente después de que el primero ha terminado.</p> Signup and view all the answers

    ¿En qué situación es preferible utilizar la extensión .pyw en lugar de .py?

    <p>Cuando el programa gestiona su propia interfaz gráfica y no necesita interacción por terminal.</p> Signup and view all the answers

    Qué característica de python.exe limita la ejecución de otros programas .py?

    <p>Ejecuta los programas de forma síncrona hasta que el anterior termine.</p> Signup and view all the answers

    ¿Cuál es una desventaja de utilizar la extensión .py para un programa que necesita ejecutar tareas en segundo plano?

    <p>Es menos eficiente que la ejecución asíncrona.</p> Signup and view all the answers

    ¿Cuál es el propósito de usar el comando 'cd' antes de crear un ejecutable con Pyinstaller?

    <p>Cambiar el directorio al que se refiere el comando posterior.</p> Signup and view all the answers

    ¿Qué comando se ejecuta para crear un archivo ejecutable a partir de un script de Python llamado 'hello.py'?

    <p>pyinstaller --onefile hello.py</p> Signup and view all the answers

    ¿Qué sucede después de ejecutar el comando 'pyinstaller --onefile hello.py'?

    <p>Se crea un archivo ejecutable en formato .exe.</p> Signup and view all the answers

    Después de crear el ejecutable, ¿dónde es probable que se encuentren los archivos creados por Pyinstaller?

    <p>En la misma carpeta que el script de Python.</p> Signup and view all the answers

    ¿Qué debe hacer un usuario para asegurar que el comando 'pip install pyinstaller' funcione correctamente?

    <p>Ejecutar el símbolo de sistema como administrador.</p> Signup and view all the answers

    ¿Cuál es la principal función de un sistema de control de versiones?

    <p>Registrar los cambios realizados en un archivo o conjunto de archivos a lo largo del tiempo.</p> Signup and view all the answers

    ¿Cuál de las siguientes características distingue un VCS local de uno centralizado?

    <p>El VCS centralizado permite la colaboración de múltiples usuarios en un único servidor.</p> Signup and view all the answers

    ¿Qué problema intentan resolver los sistemas de control de versiones distribuidos?

    <p>Permitir a los usuarios realizar cambios sin conexión a Internet.</p> Signup and view all the answers

    ¿Cuál de los siguientes ejemplos es un sistema de control de versiones centralizado?

    <p>Subversion</p> Signup and view all the answers

    ¿Qué limitación tiene el método de control de versiones local que se basa en copiar archivos manualmente?

    <p>Es propenso a errores como sobrescribir archivos incorrectos.</p> Signup and view all the answers

    ¿Cuál es la función principal de un VCS como Git en comparación con otros sistemas de control de versiones?

    <p>Proporcionar acceso a versiones anteriores sin conexión.</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones sobre los sistemas de control de versiones es incorrecta?

    <p>Los sistemas de control de versiones pueden ser utilizados solo para código fuente.</p> Signup and view all the answers

    ¿Por qué un sistema de control de versiones centralizado fue una solución común en el pasado?

    <p>Facilita la colaboración al tener un repositorio único accesible para todos.</p> Signup and view all the answers

    ¿Cuál es la función principal del área de preparación en Git?

    <p>Permitir al usuario marcar archivos modificados para la próxima confirmación.</p> Signup and view all the answers

    ¿Qué significa que un archivo se encuentre en estado 'modificado' en Git?

    <p>El archivo ha sufrido cambios pero no ha sido añadido al área de preparación.</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones acerca de Git y GitHub es correcta?

    <p>Git es un sistema de control de versiones, mientras que GitHub es un servicio de alojamiento de repositorios.</p> Signup and view all the answers

    ¿Cuál de las siguientes operaciones en Git requiere conexión a Internet?

    <p>Clonar un repositorio.</p> Signup and view all the answers

    En el flujo de trabajo básico de Git, ¿qué acción sigue a la preparación de los archivos?

    <p>Confirma los cambios y modifica el archivo.</p> Signup and view all the answers

    ¿Qué garantiza Git para evitar la pérdida de información durante la transmisión?

    <p>Una suma de comprobación antes de almacenar los datos.</p> Signup and view all the answers

    ¿Cuál es uno de los estados principales que un archivo puede tener en Git?

    <p>Confirmado.</p> Signup and view all the answers

    ¿Qué indica la acción de clonar un repositorio en Git?

    <p>Hacer una copia completa del repositorio en el cliente.</p> Signup and view all the answers

    ¿Cuál es el propósito del directorio de trabajo en un proyecto de Git?

    <p>Ser una copia de una versión del proyecto para modificarla.</p> Signup and view all the answers

    ¿Qué modalidad de repositorios ofrece GitHub de manera gratuita?

    <p>Repositorios públicos.</p> Signup and view all the answers

    Cuál de las siguientes opciones describe correctamente la forma de utilizar la función next() en Python 3?

    <p>Se usa exclusivamente como función.</p> Signup and view all the answers

    Qué excepción se genera al intentar usar el método .next() con un generador en Python 3?

    <p>AttributeError</p> Signup and view all the answers

    Cómo se comporta Python 2 respecto a la comparación de tipos diferentes?

    <p>Permite comparaciones y las evalúa según su valor.</p> Signup and view all the answers

    Cuál de las siguientes declaraciones sobre las diferencias entre Python 2 y Python 3 es correcta?

    <p>Python 2 permite el uso del método .next() en iteradores.</p> Signup and view all the answers

    Cuál es el resultado de intentar realizar la comparación 1 < '1' en Python 3?

    <p>Lanza una excepción de tipo TypeError.</p> Signup and view all the answers

    ¿Cuál es una diferencia clave en la declaración print entre Python 2 y Python 3?

    <p>En Python 2, print no requiere paréntesis.</p> Signup and view all the answers

    ¿Qué operación permite simular el comportamiento de división de Python 3 en Python 2?

    <p>Importando el módulo <strong>future</strong> con division.</p> Signup and view all the answers

    ¿Cuál es el resultado de la operación 1/2 en Python 2?

    <p>0</p> Signup and view all the answers

    ¿Qué método para iterar diccionarios ha sido eliminado en Python 3?

    <p>iteritems()</p> Signup and view all the answers

    ¿Qué función se utiliza para imprimir en Python 3?

    <p>print() con paréntesis.</p> Signup and view all the answers

    ¿Qué resultado se obtendrá al usar 1//2 en Python 3?

    <p>0</p> Signup and view all the answers

    ¿Qué implica importar el módulo future en Python 2?

    <p>Permitir el uso de print como una función.</p> Signup and view all the answers

    En Python 2, ¿qué método se utiliza para obtener solo las claves de un diccionario?

    <p>keys()</p> Signup and view all the answers

    Study Notes

    Pip: Sistema de gestión de paquetes para Python

    • Pip es un sistema de gestión de paquetes utilizado para instalar y administrar paquetes de software escritos en Python.
    • Pip es un acrónimo que se interpreta como Pip Installer Package or Pip Installer Python.

    Instalación y desinstalación de paquetes

    • Para instalar un paquete, usa el comando pip install seguido del nombre del paquete.
      • Ejemplo: pip install beautifulsoup4
    • Para desinstalar un paquete, usa el comando pip uninstall seguido del nombre del paquete.
      • Ejemplo: pip uninstall beautifulsoup4
    • Para instalar paquetes en masa, crea un archivo requirements.txt con una lista de paquetes y ejecuta pip install -r requirements.txt.
    • Para instalar un paquete para una versión específica de Python, usa pip3 install seguido del nombre del paquete.
      • Ejemplo: pip3 install BeautifulSoup4

    Actualización de Pip

    • Para actualizar Pip y Python, ejecuta el comando python -m pip install --upgrade pip.
    • Se recomienda ejecutar este comando cada vez que se lanza una nueva versión estable de Python.

    Instalación de paquetes sin conexión a internet

    • Para instalar paquetes sin conexión a internet:
      • Descarga los archivos del módulo deseado.
      • Encuentra el archivo setup.py dentro de la carpeta de archivos descargados.
      • Abre la terminal (como administrador) y dirígete a la carpeta donde se encuentran los archivos descargados.
      • Ejecuta el comando python setup.py install.

    Gestión de dependencias de proyectos

    • Usa el módulo pipreqs para gestionar las dependencias de tu proyecto.
    • Instala pipreqs con pip install pipreqs.
    • Ejecuta el comando pipreqs "ruta del proyecto" para generar un archivo requirements.txt.

    PEP 8: Guía de Estilo para Código Python

    • Es importante adoptar estándares de estilo en programación, especialmente en Python, donde la indentación define bloques de código.
    • La comunidad de Python desarrolló la PEP 8 para guiar el estilo de código Python, disponible para consulta.
    • La PEP 8 recomienda:
      • Usar 4 espacios por nivel de indentación.
      • Limitar las líneas a un máximo de 79 caracteres.
      • Separar funciones y clases de alto nivel con 2 líneas en blanco.
      • Usar codificación ASCII o UTF-8.
      • Un import por cada módulo a importar.
      • Ordenar las sentencias import al inicio del documento, agrupando:
        • Módulos estándar
        • Módulos de terceros
        • Librerías locales
      • Evitar espacios extra dentro de paréntesis, corchetes, llaves o antes de comas.

    Estilos para Nombres

    • Funciones: minúsculas separadas por guiones bajos (snake_case), ej. function, my_function.
    • Variables: minúsculas separadas por guiones bajos, ej. x, var, my_variable.
    • Clases: CamelCase (inicio de cada palabra en mayúscula), ej. Model, MyClass.
    • Métodos de Clases: minúsculas separadas por guiones bajos, ej. class_method, method.
    • Módulos: minúsculas con guiones bajos, ej. module.py, my_module.py.
    • Paquetes: minúsculas sin guiones bajos, ej. package, mypackage.

    API (Interfaz de Programación de Aplicaciones)

    • Es un conjunto de definiciones y protocolos que se utilizan para crear e integrar el software de aplicaciones.
    • Permiten la comunicación entre aplicaciones y servicios sin necesidad de conocer su implementación interna.
    • Simplifican el desarrollo de aplicaciones, ofreciendo flexibilidad en el diseño e impulsando la innovación.
    • Son comunes en el desarrollo de rutinas o aplicaciones que usan APIs para comunicarse o interactuar con otros servicios.
    • Se debe considerar que las librerías o módulos utilizados en aplicaciones son herramientas físicas que pueden causar daños potenciales.
    • Mientras que la creación de APIs no se cubre en este curso, consumir APIs de terceros para rutinas es una práctica habitual que debe tomarse en serio.

    Documentación de Software

    • La documentación de código es crucial para el desarrollo de software.
    • La documentación debe ser sencilla y realizada por los autores del código.
    • En Python, los comentarios (#) ayudan a:
      • Planificar la estructura del código
      • Indicar la sección en la que se trabaja
      • Explicar algoritmos
      • Proporcionar información legal
      • Identificar al autor del script
      • Describir funciones

    Documentación Técnica

    • La documentación técnica conecta el código con el lenguaje humano.
    • Es utilizada en repositorios como GitHub, frameworks y librerías.
    • Los elementos clave en la documentación técnica son:
      • Descripción concisa del problema que resuelve el software.
      • Licencia de distribución del software.
      • Ejemplo de funcionamiento del código.
      • Instrucciones de instalación.
      • Enlaces a soporte comunitario, listas de correo, foros, etc.
      • Enlace al sistema de seguimiento de errores (si lo tiene).
      • Enlace al código fuente para descarga.

    Registro en Python

    • El registro facilita la depuración de aplicaciones al identificar la fuente de errores.
    • Python proporciona la librería logging para un sistema de registro simple y potente.
    • La librería logging se importa y se inicializa con el nombre del archivo de registro y el nivel de registro.
    • Se pueden configurar cinco niveles de registro: DEBUG, INFO, WARNING, ERROR y CRITICAL.
    • El nivel de registro (como INFO en este caso) determina qué tipo de registros se capturan.

    Tipos de Errores en Desarrollo de Software

    • Los errores de sintaxis se producen debido a una sintaxis incorrecta y suelen detectarse durante la fase de desarrollo inicial.
    • Los errores lógicos ocurren debido a una implementación lógica incorrecta y son más difíciles de rastrear.
    • Los errores en tiempo de ejecución se producen cuando no se consideran todos los casos posibles y pueden relacionarse con factores externos.

    Excepciones en Python

    • Las excepciones son problemas que ocurren durante la ejecución de un programa y generalmente se producen por datos o instrucciones que no coinciden con el funcionamiento del programa.
    • El manejo de excepciones permite crear aplicaciones robustas y tolerantes a fallas.

    Manejo de Excepciones con try y except

    • En Python, las declaraciones try y except se utilizan para controlar las excepciones.
    • El bloque try contiene el código que podría generar una excepción.
    • El bloque except se ejecuta si ocurre una excepción dentro del bloque try.

    Excepciones Estándar

    • Existen excepciones estándar como ArithmeticError, OverflowError e ImportError.

    Manejo de Múltiples Excepciones

    • Se pueden manejar múltiples excepciones a la vez mediante la agrupación de las excepciones estándar en el bloque except.

    Clausula finally

    • La cláusula finally se utiliza para limpiar recursos, como cerrar archivos, independientemente de si ocurre una excepción o no.
    • Se ejecuta después del bloque try o except.

    Scripts de línea de comandos con argumentos

    • Los scripts que se ejecutan desde la línea de comandos permiten una interacción más nativa con el entorno de trabajo.
    • Los argumentos de entrada se pueden utilizar para personalizar el comportamiento de los scripts.
    • La variable sys.argv guarda una lista de cadenas, donde el primer elemento es el nombre del script y los siguientes son los argumentos proporcionados.
    • Para acceder a los argumentos, se puede utilizar el slice sys.argv[1:].
    • La shebang #!/usr/bin/env python es necesaria en sistemas Linux o iOS para indicar al sistema cómo ejecutar el script.

    Librería argparse en Python

    • La librería argparse se utiliza para analizar y manejar argumentos pasados ​​a los scripts de Python desde la línea de comandos.
    • argparse permite a los desarrolladores definir los argumentos que un programa espera como entrada.
    • Usando argparse, puedes especificar los nombres, tipos y descripciones de los argumentos.
    • Esto facilita la creación de un script que se puede ejecutar desde la línea de comandos con diferentes configuraciones.
    • En el ejemplo proporcionado, la línea parser.add_argument("-p1", dest="param1", help="parámetro 1") define un argumento llamado -p1 que se asignará a la variable param1.
    • La opción help establece una breve descripción de la función del argumento.
    • Finalmente, parser.parse_args() recopila y analiza los argumentos pasados a través de la línea de comandos y los almacena en un objeto llamado params.
    • El código utiliza print(params.param1) para acceder al valor del argumento -p1, que ahora está almacenado en la variable param1.
    • La librería argparse es una adición útil para crear scripts de Python que pueden recibir entrada de la línea de comandos y proporcionar una mejor experiencia de usuario.

    Entornos Virtuales en Python

    • Aislamiento: Es recomendable aislar el proyecto a nivel de módulos y librerías instaladas, para evitar conflictos con otros proyectos o el ambiente global del sistema.

    • Virtualenv: Permite crear un espacio aislado para ejecutar proyectos Python, similar a una "sandbox".

    • Sandboxie (Windows): Para un aislamiento total del proyecto, se puede instalar una sandbox como Sandboxie.

    • virtualenvwrapper: Proporciona funcionalidades adicionales para trabajar con entornos virtuales, facilitando la creación, gestión y activación de los mismos.

    • Instalación de virtualenv y virtualenvwrapper:

      • Linux/Mac:

        • $ virtualenv env Crea el entorno virtual.
        • $ source env/bin/activate Activa el entorno virtual.
        • (venv) $ pip install -r requirements.txt Instala las dependencias del proyecto.
      • Windows:

        • > virtualenv venv Crea el entorno virtual.
        • Forma 1: venv\Scripts\activate Activa el entorno virtual.
        • Forma 2:
          • cd venv\Scripts Navega a la carpeta de scripts del entorno virtual.
          • activate Activa el entorno virtual.
    • Activación del entorno virtual: Con el entorno virtual activado, se pueden instalar las dependencias del proyecto mediante pip install -r requirements.txt.

    • Desactivación del entorno virtual: deactivate desactiva el entorno virtual, volviendo al ambiente global del sistema.

    ### Extensiones de archivos Python

    • Los programas Python pueden tener dos extensiones: .py y .pyw.
    • La extensión .py es la más común.
    • No hay diferencia al ejecutar archivos .py o .pyw en IDLE.
    • Python.exe ejecuta archivos .py, creando una ventana de terminal para interactuar con el usuario.
    • Pythonw.exe ejecuta archivos .pyw, sin crear una ventana de terminal.
    • Utilizar .pyw es adecuado si el programa gestiona su propia ventana de interfaz de usuario o no requiere interacciones con el usuario.
    • En otros casos, es mejor usar la extensión .py.

    Ejecución de archivos Python

    • Python.exe ejecuta programas de forma síncrona, lo que significa que un nuevo programa .py solo se puede ejecutar después de finalizar el programa anterior.
    • Pythonw.exe ejecuta programas de forma asíncrona, permitiendo ejecutar varios programas en paralelo.

    Instalación de Pyinstaller

    • Para instalar Pyinstaller, abre el símbolo del sistema de Windows y escribe pip install pyinstaller.
    • Presiona Enter para ejecutar el comando.

    Guardar el script de Python

    • Guarda tu script de Python en la ubicación deseada.
    • Por ejemplo: C:\Users\Ron\Desktop\MyPython\hello.py.

    Crear el ejecutable

    • Abre el símbolo del sistema y navega a la carpeta donde se encuentra el script de Python.
    • Por ejemplo: cd C:\Users\Ron\Desktop\MyPython.
    • Usa el siguiente comando para crear el ejecutable: pyinstaller --onefile pythonScriptName.py.
    • Reemplaza "pythonScriptName.py" con el nombre de tu script.
    • Por ejemplo: pyinstaller --onefile hello.py.

    Encontrar el ejecutable

    • El ejecutable se crea en una carpeta llamada dist dentro de la carpeta donde se encuentra el script.

    Ejecutar el ejecutable

    • Haz doble clic en el archivo ejecutable para ejecutar tu programa.
    • Puedes encontrar más información sobre Pyinstaller en el manual de Pyinstaller.

    Control de Versiones

    • Es la gestión de los cambios realizados en un producto o configuración.
    • Cada cambio crea una nueva versión, revisión o edición del producto.
    • Un sistema de control de versiones (VCS) registra los cambios en archivos para recuperar versiones anteriores.
    • Los VCS se pueden usar con cualquier tipo de archivo, no solo con código fuente.

    Tipos de Control de Versiones

    • Locales: Copiar archivos a otro directorio con fecha y hora.
      • Sencillo pero propenso a errores.
    • Centralizados: Un servidor central contiene todos los archivos versionados y los clientes descargan desde allí.
      • Ejemplos: CVS, Subversion, Perforce.
    • Distribuidos: Cada cliente tiene una copia completa del repositorio.
      • Ejemplos: Git, Mercurial, Bazaar, Darcs.
      • Si un servidor deja de funcionar, cualquier cliente puede restaurarlo.

    Git

    • Sistema de control de versiones distribuido y de código abierto.
    • Permite guardar, gestionar y navegar por el historial de cambios de un proyecto.
    • Disponible para Windows, Ubuntu (Linux) y Mac.
    • Permite trabajar sin conexión a internet.
    • No se pierde información durante la transmisión ni se corrompen archivos.

    Estados de los Archivos en Git

    • Confirmado (committed): Datos almacenados en la base de datos local.
    • Modificado (modified): Archivo modificado pero no confirmado.
    • Preparado (staged): Archivo modificado listo para ser confirmado en la siguiente confirmación.

    Secciones de un Proyecto Git

    • Directorio de Git: Almacena metadatos y la base de datos de objetos.
      • Se copia al clonar un repositorio.
    • Directorio de Trabajo: Copia de una versión del proyecto.
      • Se saca de la base de datos comprimida del directorio de Git.
    • Área de Preparación: Almacena información sobre los cambios que se incluirán en la próxima confirmación.

    Flujo de Trabajo Básico en Git

    • Modificar archivos en el directorio de trabajo.
    • Preparar los archivos añadiéndolos al área de preparación.
    • Confirmar los cambios (guardar el estado actual en el directorio de Git).

    Instalación de Git

    • Consultar la guía de instalación de Git para su sistema operativo.

    Uso de Git

    • Primeras Configuraciones: Personalizar el uso de Git.
    • Obtener Ayuda: Documentación y tutoriales disponibles.
    • Clonar un Repositorio: Obtener una copia del proyecto desde otro sistema.

    Diferencia entre Git y GitHub

    • Git: Sistema de control de versiones.
      • Administra el código fuente de un proyecto.
    • GitHub: Servicio de alojamiento de repositorios Git.
      • Permite crear repositorios públicos y privados.
      • Los repositorios públicos son gratuitos, los privados requieren una cuenta comercial.

    Diferencias entre Python 2 y Python 3

    • Sentencia print: En Python 2, print es una sentencia, por lo que no se necesitan paréntesis. En Python 3, print es una función, por lo que se requieren paréntesis.

    • División de números enteros: En Python 2, la división entre números enteros devuelve un resultado entero. En Python 3, la división entre enteros produce un resultado de punto flotante.

    • Módulo future: Este módulo permite a los usuarios usar características nuevas de Python en versiones anteriores de Python. Esto permite a los desarrolladores adaptar código de Python 2 a la sintaxis de Python 3.

    • Iterar sobre diccionarios: En Python 2, podemos usar iteritems() o items() para iterar sobre las claves-valor de un diccionario. En Python 3, solo items() funciona. Los métodos iterkeys() e itervalues() no existen en Python 3, se usan keys() y values() en su lugar.

    • Función next() y método .next(): En Python 2, la función next() y el método .next() se pueden usar para obtener el siguiente elemento de un iterador. En Python 3, solo la función next() funciona.

    • Comparación entre tipos: Python 2 permitía la comparación entre tipos diferentes. Python 3 es más estricto y lanza una excepción TypeError si se intenta comparar tipos incompatibles.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    Este cuestionario aborda el uso de Pip, el sistema de gestión de paquetes para Python. Aprenderás a instalar, desinstalar y actualizar paquetes utilizando comandos específicos. También se cubrirá la gestión de dependencias a través de un archivo 'requirements.txt'.

    More Like This

    PIP Insurance Declarations Pages Quiz
    22 questions
    Lung Mechanics and PIP Overview
    26 questions

    Lung Mechanics and PIP Overview

    MatchlessAltoSaxophone avatar
    MatchlessAltoSaxophone
    PIP Appeal Process for Ryan Shang
    16 questions
    Pharmacy Orientation (PIP 111) - Lecture 4
    48 questions
    Use Quizgecko on...
    Browser
    Browser