Cómo solucionar el error pip “entorno administrado externamente” en Linux

Si trabaja frecuentemente con Python y recientemente cambió a Ubuntu 23.04 o Fedora versión 38, es probable que se haya encontrado con el error de «entorno administrado externamente» al instalar paquetes con el administrador de paquetes de Python, pip.

Esto podría resultar frustrante y bastante sorprendente, ya que este error nunca aparecería en las versiones anteriores de Ubuntu, Fedora y otras distribuciones. Aprendamos qué está causando exactamente este error y cómo solucionarlo rápidamente.

Por qué ocurre el error del «entorno administrado externamente»

Las últimas versiones de todas las distribuciones de Linux adoptan los estándares definidos en PEP-668. Estos cambios garantizan que los paquetes pip no se instalen en un contexto global de forma predeterminada.

  Cómo eliminar un archivo en Linux

Esto se implementó en un intento de evitar conflictos entre el administrador de paquetes de la distribución y las herramientas de administración de paquetes de Python. Puedes conocer los detalles en el documentación oficial PEP-668. Si desea revertir o anular este mecanismo, puede adoptar tres enfoques.

1. Elimine el archivo “GESTIONADO EXTERNAMENTE”

Esta es la solución más sencilla al error de pip «administrado externamente». Todo lo que tiene que hacer es navegar a /usr/lib/python3.xx y eliminar el archivo ADMINISTRADO EXTERNAMENTE en el directorio. Aquí están los comandos para hacerlo:

 cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED

Eso es todo lo que necesitas hacer para corregir el error. Si elige restaurar este mecanismo, cree el mismo archivo nuevamente con el comando táctil:

 sudo touch EXTERNALLY-MANAGED 

Ahora debería poder instalar paquetes sin problemas con pip o pip3.

2. Utilice entornos virtuales para instalar paquetes pip

Otro enfoque que puede adoptar es utilizar entornos virtuales para su proyecto Python. Los entornos virtuales son una excelente manera de aislar paquetes de programas específicos del sistema operativo y también le permiten organizar ordenadamente su proyecto.

  Cómo instalar Slack en Linux

A continuación se explica cómo crear un entorno virtual e instalar paquetes con pip:

  • Primero, cree el entorno virtual con:
     python3 -m venv venv 
  • Obtenga el archivo de activación dentro del directorio bin usando el comando fuente:
     source venv/bin/activate 
  • Su indicador de shell debe actualizarse con el nombre del entorno virtual. Ahora podrá instalar cualquier paquete de Python que desee.

    Como puede ver, el paquete openai Python no se pudo instalar al principio, pero después de crear y cambiar a un entorno virtual, se instala sin problemas.

    3. Utilice pipx para instalar paquetes de Python

    pipx es una utilidad para instalar paquetes de Python en entornos virtuales y aislados. Automatiza pasos como la creación de entornos virtuales para cada paquete y la creación de enlaces simbólicos a los paquetes en la carpeta .local/bin para que puedas llamar a cada paquete desde el shell en todo momento.

    El uso de pipx para instalar paquetes le ayuda a evitar el error de «entorno administrado externamente» al instalar paquetes en entornos virtuales. Para usar pipx, primero instálelo con el administrador de paquetes predeterminado de su distribución.

      Cómo jugar The Elder Scrolls Online en Linux

    En derivados de Ubuntu/Debian:

     sudo apt-get install pipx 

    En sistemas basados ​​en Arch:

     sudo pacman -S pipx 

    En Fedora/CentOS/RHEL:

     sudo dnf install pipx 

    Una vez que haya instalado pipx, úselo tal como usaría pip para instalar paquetes. Aquí hay un comando de muestra:

     pipx install openai 

    Para obtener más información sobre pipx, puede consultar su página de manual usando el comando man.

    Ahora ya sabe cómo solucionar el error «administrado externamente»

    Después de corregir el error del «entorno administrado externamente», debería poder continuar trabajando en su proyecto o practicando la programación general de Python. Si estás enfocado en esto último, quizás quieras ver las diferentes formas gamificadas de aprender programación que te ayudarán a aprender Python, o cualquier lenguaje, mucho más rápido de una manera práctica y gratificante.