virtualenv crea entornos aislados para instalar paquetes de Python sin afectar el sistema global. virtualenvwrapper facilita la gestión de estos entornos, haciendo más sencillo cambiar entre ellos. Estas herramientas son ideales para proyectos con dependencias incompatibles o versiones específicas de Python.
Nota sobre permisos: Algunos comandos requieren permisos de superusuario. Usa
sudo
antes del comando cuando sea necesario (por ejemplo,sudo apt-get install ...
).
Requisitos previos
Asegúrate de tener Python instalado (recomendado: versiones 3.12.7 o 3.13.0 //puede variar con el tiempo). Consulta la guía: Instalación de pyenv en Unix/Linux para gestionar múltiples versiones de Python.
Instalación en CentOS/Fedora/RedHat
Opción 1: Usar pip
Instala pip si no lo tienes (ver sección “Instalación de pip” más abajo).
Instala virtualenv y virtualenvwrapper:
pip install virtualenv virtualenvwrapper
Opción 2: Usar el gestor de paquetes
Instala los paquetes (requiere sudo
):
dnf install python3-virtualenv python3-virtualenvwrapper -y
Instalación en Debian/Ubuntu
Opción 1: Usar pip
Instala pip si no lo tienes. (ver sección “Instalación de pip” más abajo).
Instala virtualenv y virtualenvwrapper:
pip install virtualenv virtualenvwrapper
Opción 2: Usar el gestor de paquetes
Instala virtualenv (requiere sudo
):
apt-get install python3-virtualenv -y
Instala virtualenvwrapper con pip:
pip install virtualenvwrapper
Instalación en FreeBSD
Opción 1: Usar pip
Instala pip si no lo tienes (ver sección “Instalación de pip” más abajo).
Instala virtualenv y virtualenvwrapper:
pip install virtualenv virtualenvwrapper
Opción 2: Usar el sistema de ports
Navega al directorio de ports e instala (requiere sudo
):
cd /usr/ports/devel/py-virtualenv
make install clean
Instala virtualenvwrapper con pip:
pip install virtualenvwrapper
Instalación en macOS
Opción 1: Usar pip
Instala pip si no lo tienes (ver sección “Instalación de pip” más abajo).
Instala virtualenv y virtualenvwrapper:
pip install virtualenv virtualenvwrapper
Opción 2: Usar Homebrew
Instala Homebrew si no lo tienes.
Busca los paquetes:
brew search virtualenv
Instala:
brew install pyenv-virtualenv pyenv-virtualenvwrapper
Habilita la activación automática añadiendo a ~/.zshrc
(o ~/.bash_profile
si usas Bash):
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
O ejecuta:
echo 'if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi' >> ~/.zshrc
Instalación de pip
Si no tienes pip instalado, instálalo para Python 3 (requiere sudo
en algunos sistemas):
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
rm get-pip.py
Verifica la instalación:
pip --version
Configuración de virtualenvwrapper
Edita el archivo ~/.bashrc
(o ~/.zshrc
en macOS con Zsh):
vim ~/.bashrc
Añade al final:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Projects
export VIRTUALENVWRAPPER_PYTHON=$(which python3)
export VIRTUALENVWRAPPER_VIRTUALENV=$(which virtualenv)
source $(which virtualenvwrapper.sh)
Carga los cambios:
Para sistemas basados en RPM (CentOS/Fedora/RedHat):
source ~/.bash_profile
Para sistemas basados en DEB (Debian/Ubuntu):
source ~/.bashrc
Para macOS:
source ~/.zshrc
Nota: Si virtualenvwrapper.sh
no se encuentra, verifica su ubicación con:
find / -name virtualenvwrapper.sh 2>/dev/null
Uso de virtualenv y virtualenvwrapper
Usando virtualenv
Crea un entorno virtual con Python 3.12.7:
virtualenv -p $(which python3.12) ~/.virtualenvs/env3.12
Activa el entorno:
source ~/.virtualenvs/env3.12/bin/activate
Verifica la versión de Python:
python --version
Salida esperada:
Python 3.12.7
Desactiva el entorno:
deactivate
Usando virtualenvwrapper
Crea un entorno virtual:
mkvirtualenv --python=$(which python3.12) env3.12
Activa el entorno:
workon env3.12
Verifica la versión de Python:
python --version
Salida esperada:
Python 3.12.7
Lista los entornos virtuales:
lsvirtualenv
Navega al directorio del entorno:
cdvirtualenv env3.12
Instala un paquete (por ejemplo, Flask):
pip install flask
Guarda las dependencias en un archivo:
pip freeze > requirements.txt
Instala dependencias desde un archivo:
pip install -r requirements.txt
Desactiva el entorno:
deactivate
Elimina un entorno virtual:
rmvirtualenv env3.12
Solución de problemas
Si encuentras el error mkvirtualenv: command not found
, verifica que virtualenvwrapper.sh
esté correctamente configurado en ~/.bashrc
o ~/.zshrc
. Asegúrate de que las variables de entorno (WORKON_HOME
, VIRTUALENVWRAPPER_PYTHON
, etc.) estén definidas.
Si el script de activación (activate
) da un error de permisos, corrígelo:
chmod +x ~/.virtualenvs/env3.12/bin/activate
Notas finales
- Los entornos virtuales se crean con la versión de Python especificada o la predeterminada del sistema.
- Usa
--no-site-packages
para evitar incluir paquetes del sistema, o--system-site-packages
para incluirlos. - Consulta la documentación oficial: https://virtualenv.pypa.io/en/latest/ y https://virtualenvwrapper.readthedocs.io/en/latest/
Pingback: Cómo Instalar pyenv en Unix/Linux » Blog Linux