01-Python

Ejecución de Python

python

Abre el intérprete interactivo de Python (REPL) donde puedes ejecutar código línea por línea.

python --version

Verifica la versión de Python instalada en el sistema.

python -V

Alias corto para --version (muestra la versión).

python script.py

Ejecuta un archivo Python desde la terminal.

python -m <modulo>

Ejecuta un módulo como script (ej: python -m http.server).

Opciones Útiles de Línea de Comandos

python -c "<código>"

Ejecuta código Python directamente desde la terminal.

python -i script.py

Ejecuta un script y luego entra al modo interactivo manteniendo las variables.

python -O script.py

Ejecuta el script con optimizaciones básicas.

python -OO script.py

Ejecuta con optimizaciones agresivas (elimina docstrings).

Entornos Virtuales (Virtual Environments)

python -m venv <nombre-entorno>

Crea un entorno virtual para aislar dependencias del proyecto.

source <nombre-entorno>/bin/activate

Activa el entorno virtual (Linux/Mac).

<nombre-entorno>\Scripts\activate

Activa el entorno virtual (Windows).

deactivate

Desactiva el entorno virtual actual.

Gestión de Paquetes con pip

pip install <paquete>

Instala un paquete de Python desde PyPI.

pip install -r requirements.txt

Instala todas las dependencias listadas en un archivo requirements.txt.

pip freeze > requirements.txt

Genera un archivo requirements.txt con las dependencias actuales.

pip uninstall <paquete>

Desinstala un paquete.

pip list

Lista todos los paquetes instalados.

pip show <paquete>

Muestra información detallada de un paquete específico.

pip install --upgrade <paquete>

Actualiza un paquete a la última versión.

Desarrollo y Depuración

python -m pdb script.py

Ejecuta el script con el depurador integrado de Python.

python -m doctest script.py

Ejecuta tests doctest incluidos en los docstrings.

python -m unittest discover

Descubre y ejecuta tests unittest automáticamente.

python -m pytest

Ejecuta tests usando pytest (debe estar instalado).

Herramientas de Desarrollo

python -m http.server 8000

Sirve archivos locales por HTTP en el puerto especificado.

python -m json.tool archivo.json

Formatea y valida archivos JSON.

python -m timeit "<código>"

Mide el tiempo de ejecución de código Python.

python -m cProfile script.py

Perfila el código para analizar rendimiento.

Creación de Paquetes

python setup.py sdist

Crea un paquete fuente para distribución.

python -m build

Construye el paquete (requiere el módulo build instalado).

python -m twine upload dist/*

Sube el paquete a PyPI (requiere twine instalado).

Comandos Útiles para Jupyter

jupyter notebook

Inicia Jupyter Notebook en el navegador.

jupyter lab

Inicia Jupyter Lab (entorno más avanzado).

jupyter kernel --version

Verifica la versión del kernel de Jupyter.

Type Checking y Análisis

python -m mypy script.py

Verifica tipos estáticos (requiere mypy instalado).

python -m pylint script.py

Analiza el código en busca de errores y estilo (requiere pylint).

python -m black script.py

Formatea el código automáticamente (requiere black).

python -m isort script.py

Organiza imports automáticamente (requiere isort).


🛠️ Flujo de Trabajo Típico:

# Crear y activar entorno virtual
python -m venv myenv
source myenv/bin/activate

# Instalar dependencias
pip install -r requirements.txt

# Ejecutar tests
python -m pytest

# Ejecutar aplicación
python main.py

🔧 Comandos de Depuración Rápidos:

# Ejecutar con depuración
python -m pdb script.py

# Verificar tipos
python -m mypy script.py

# Formatear código
python -m black script.py

💡 Buenas Prácticas:

  • Siempre usa entornos virtuales por proyecto
  • Mantén un requirements.txt actualizado
  • Usa type hints para mejor mantenibilidad
  • Ejecuta tests antes de hacer commit
  • Usa formateadores de código como black