Volver a la lista

Gestión de paquetes de Python con pip y entornos virtuales.

Uso de `pip install`, `venv`, `conda` y `requirements.txt`. Introducción a la gestión de entornos de Python para investigadores.

Principiante
|
45min
|
Verificado (2026-06)
pipEntorno virtualvenvcondaPaqueterequirements.txt
Progreso0/7 (0%)

Gestión de paquetes de Python con pip y entornos virtuales

Al finalizar este tema

Instalará paquetes con pip, separará los entornos por proyecto mediante un entorno virtual (venv) y podrá reproducir el entorno utilizando requirements.txt.


¿Por qué usar paquetes?

Aunque con las funciones básicas de Python se puede hacer mucho, las funcionalidades que se necesitan con frecuencia en el análisis de datos biológicos ya han sido desarrolladas por otros programadores:

TareaPaqueteAnalogía
Procesamiento de datos tabularespandasLa versión de Python de Excel
Creación de gráficosmatplotlibGenerador de figuras para artículos científicos
Cálculos matemáticos/estadísticosnumpy, scipySoftware estadístico
Análisis de ADN/proteínasbiopythonConjunto de herramientas para el análisis de secuencias
Solicitudes HTTPrequestsPara realizar llamadas a la API de NCBI

Así como no sintetiza cada reactivo, sino que lo pide de un catálogo, los paquetes también se instalan mediante pip en lugar de crearlos directamente.

pip: Instalación de paquetes

pip es el gestor de paquetes de Python. Se ejecuta desde la terminal:

bash
# Instalación de paquetes
pip install pandas
# Instalación de una versión específica
pip install pandas==2.2.0
# Instalación de varios paquetes a la vez
pip install numpy matplotlib scipy
# Verificar la lista de paquetes instalados
pip list
# Desinstalar paquete
pip uninstall pandas

En Google Colab, para ejecutar una celda, se debe agregar ! al principio de la celda: !pip install biopython

import: usar los paquetes instalados

Los paquetes instalados se importan en el código mediante import:

python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = np.array([1.2, 3.5, 2.8, 4.1, 3.9])
mean_val = np.mean(data)
print(f"Valor medio de OD: {mean_val:.2f}")
assert abs(mean_val - 3.1) < 0.01

as np es un alias. Se puede abreviar numpy.mean() como np.mean(). np, pd y plt son alias estándar que utilizan los desarrolladores de todo el mundo.

¿Por qué necesitamos entornos virtuales?

Si el proyecto A requiere pandas 1.5 y el proyecto B requiere pandas 2.2, no se pueden instalar ambas versiones simultáneamente en una única instalación de Python.

Analogía del laboratorio: cada experimento utiliza un conjunto diferente de reactivos. Si se almacenan los reactivos para Western Blot y ELISA en el mismo lugar, se genera confusión. Separar los reactivos por experimento ayuda a mantener el orden.

Entorno virtual = conjunto de reactivos por proyecto

Creación de un entorno virtual con venv

Se utiliza el módulo integrado estándar de Python venv:

bash
# 1. Crear entorno virtual (dentro de la carpeta del proyecto)
python3 -m venv .venv
# 2. Activar el entorno virtual
# Mac/Linux:
source .venv/bin/activate
# Windows:
.venv\Scripts\activate
# 3. Verificar activación — aparece (.venv) al inicio del prompt
(.venv) $ which python
# → /ruta-del-proyecto/.venv/bin/python
# 4. Instalar paquetes en este entorno
pip install pandas numpy matplotlib
# 5. Desactivar (al cambiar a otro proyecto)
deactivate

Al activarse, pip install instala los paquetes solo en el entorno virtual especificado. No afecta a otros proyectos.

requirements.txt: replicación del entorno

"Funciona en mi computadora, pero no en la de mis compañeros" — este es uno de los problemas más comunes en el desarrollo. requirements.txt soluciona este problema.

bash
# Guarda la lista de paquetes del entorno actual en un archivo
pip freeze > requirements.txt

Generado requirements.txt:

text
numpy==1.26.4
pandas==2.2.0
matplotlib==3.8.3
scipy==1.12.0

Cuando un colega reciba este archivo:

bash
# Después de crear y activar el entorno virtual
pip install -r requirements.txt

Se reproduce exactamente el mismo entorno de paquetes con una sola línea de código. Es el mismo principio que anotar los números de catálogo de los reactivos en un protocolo experimental; es la clave para la reproducibilidad.

conda: gestor de paquetes para la investigación científica

conda es similar a pip, pero puede gestionar no solo paquetes de Python, sino también bibliotecas C y paquetes de R. En bioinformática, conda es más utilizado:

bash
# Crear entorno conda
conda create -n bioanalysis python=3.12
# Activar entorno
conda activate bioanalysis
# Instalar paquetes (canal bioconda)
conda install -c bioconda biopython samtools
# Verificar lista de entornos
conda env list
# Exportar entorno (para reproducibilidad)
conda env export > environment.yml
pip + venvconda
InstalaciónSolo paquetes de PythonPython + C/R + herramientas binarias
Gestión del entornoSeparado (venv)Integrado (conda create)
Herramientas bioinformáticasLimitadoAmplio, con el canal bioconda
TamañoLigeroPesado (se recomienda Miniconda)
Escenarios recomendadosDesarrollo web, análisis ligeroBioinformática, análisis a gran escala

Comience con pip + venv y, si necesita herramientas bioinformáticas como samtools o BLAST, cambie a conda.

Prueba práctica (Ejemplo con texto atenuado)

Complete los espacios en blanco a continuación para crear un entorno virtual e instalar paquetes.

Completar espaciosbash
Crear entorno virtual
python3 -m .venv
# Activación (Mac/Linux)
.venv/bin/activate
# Instalación de paquetes
pip install pandas numpy
# Guardar entorno actual
pip freeze > .txt

Errores comunes y soluciones

P: Tengo el error ModuleNotFoundError: No module named 'pandas'

Es posible que los paquetes no estén instalados o que estén instalados en un entorno Python diferente. Use which python para verificar qué versión de Python está usando actualmente. También verifique si ha activado el entorno virtual.

P: Hice pip install, pero import no funciona

Es posible que el terminal pip y Python en Jupyter Notebook estén usando entornos diferentes. En Jupyter, ejecute !pip install pandas en una celda y luego reinicie el kernel.

P: ¿Cuál es la diferencia entre pip y pip3?

pip es para Python básico y pip3 es solo para Python 3. Si tiene instaladas tanto Python 2 como Python 3 en su sistema, es necesario distinguirlos. Dentro de un entorno virtual, pip siempre está vinculado a la versión de Python de ese entorno, por lo que no es necesario distinguirlos.

P: ¿Puedo subir la carpeta .venv a Git?

No debe hacerlo. .venv contiene archivos binarios de paquetes que pueden ocupar cientos de MB. Agregue .venv/ a .gitignore y suba solo requirements.txt a Git. Sus compañeros pueden crear su propio entorno con requirements.txt.

💬 Preguntas y comentarios

0 comentarios

Puedes publicar sin iniciar sesión. Los comentarios de invitados no pueden editarse ni eliminarse después.

0/2000

Cargando...