">
 

Cómo solucionar `OSError: [Errno 13] Permission denied` al usar `pip install`

Iniciado por joomlamz, 31 de Maio de 2026, 13:00

Respostas: 0   |   Visualizações: 18

Tópico anterior - Tópico seguinte

0 Membros e 1 Visitante estão a ver este tópico.

Cómo solucionar `OSError: [Errno 13] Permission denied` al usar `pip install`



Tópico: Cómo solucionar `OSError: [Errno 13] Permission denied` al usar `pip install`
Categoria: Tutoriais | Programação & Tecnologia
Idioma Principal: Português (Conteúdo de Tecnologia)

Descrição do Conteúdo / Informações:
-------------------------------------------------------------------------


Cómo solucionar OSError: [Errno 13] Permission denied al usar pip install




¿Por qué ocurre este error?


El error ocurre porque pip intenta instalar paquetes en un directorio del sistema (como /usr/local/lib/python2.7/dist-packages/) que requiere permisos de administrador (root). Esto sucede cuando:

• Estás usando el pip del sistema operativo (no el de un entorno virtual)

• El sistema tiene configurado Python y pip para instalar globalmente en directorios protegidos

• Estás ejecutando pip sin los permisos necesarios, o sin usar sudo (que no es recomendable por seguridad)



Pasos para solucionarlo definitivamente




✅ Solución recomendada: Usa entornos virtuales (vía venv o conda)


1. Crea un entorno virtual aislado

python3 -m venv venv
# o si usas Python 2 (no recomendado, pero posible):
# virtualenv venv

2. Activa el entorno

source venv/bin/activate
# En Windows: venv\Scripts\activate

3. Instala las dependencias dentro del entorno

pip install -r requirements.txt

✅ Ventaja: No necesitas sudo, no contaminas el sistema, y cada proyecto tiene sus propias dependencias.



⚠️ Solución alternativa (solo si NO puedes usar entornos virtuales)


Opción A: Instala solo para el usuario actual (sin sudo)

pip install --user -r requirements.txt

Esto instala en ~/.local/lib/..., evitando permisos de sistema.

Opción B: Cambia los permisos del directorio (riesgoso)

sudo chown -R $USER:$USER /usr/local/lib/python2.7/dist-packages/
# O más seguro:
sudo chown -R $USER:$USER /usr/local/lib/python3.x/dist-packages/

⚠️ Advertencia: Esto puede romper la gestión de paquetes del sistema operativo (especialmente en Debian/Ubuntu).



Bloque de código corregido (ejemplo práctico)


# 1. Crear entorno virtual
python3 -m venv django-env

# 2. Activar entorno
source django-env/bin/activate

# 3. Actualizar pip (opcional pero recomendado)
pip install --upgrade pip

# 4. Instalar dependencias
pip install -r requirements.txt



Pro-tip: Evita sudo pip install a toda costa



Riesgo de seguridad: Ejecutas código no verificado como root.


Conflicto con el gestor de paquetes del sistema: apt, yum, etc., pueden romperse.


Dificultad para reproducir entornos: Las instalaciones globales se vuelven caóticas.

✅ Mejor práctica: Usa venv + pip install sin privilegios.

✅ Para producción: Usa contenedores Docker o sistemas como pipenv/poetry.

📌 Nota histórica: El error muestra Python 2.7. Python 2 está obsoleto desde 2020. Migrar a Python 3 es obligatorio para seguridad y soporte.


Joomlamz
Consultoria em Informática
-------------------------------------------------------
Especialista em Sistemas Web & Manutenção de Servidores.
A desenvolver o novo AplPortal com suporte a PHP 8.
Precisa de ajuda profissional? Contacte-me.

Tags: