Se di recente hai riscontrato l'errore "ambiente gestito esternamente" durante l'installazione dei pacchetti pip su Linux, ecco come risolverlo.

Se lavori spesso con Python e recentemente sei passato a Ubuntu 23.04 o Fedora versione 38, è probabile che tu mi sono imbattuto nell'errore "ambiente gestito esternamente" durante l'installazione dei pacchetti con il gestore pacchetti Python, pip.

Ciò potrebbe essere frustrante e piuttosto sorprendente poiché questo errore non verrebbe mai visualizzato nelle versioni precedenti di Ubuntu, Fedora e altre distribuzioni. Impariamo cosa sta causando esattamente questo errore e come risolverlo rapidamente.

Perché si verifica l'errore "ambiente gestito esternamente".

Le ultime versioni di tutte le distribuzioni Linux stanno adottando gli standard definiti in PEP-668. Queste modifiche garantiscono che i pacchetti pip non verranno installati in un contesto globale per impostazione predefinita.

Ciò è stato implementato nel tentativo di evitare conflitti tra il gestore dei pacchetti della distribuzione e gli strumenti di gestione dei pacchetti Python. Puoi conoscere i dettagli nel

instagram viewer
documentazione ufficiale PEP-668. Se desideri ripristinare o ignorare questo meccanismo, puoi adottare tre approcci.

1. Eliminare il File "GESTITO ESTERNAMENTE".

Questa è la soluzione più semplice all'errore pip "gestito esternamente". Tutto quello che devi fare è navigare verso /usr/lib/python3.xx ed eliminare il GESTIONE ESTERNA file nella directory. Ecco i comandi per farlo:

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

Questo è tutto ciò che devi fare per correggere l'errore. Se scegli di ripristinare questo meccanismo, crea nuovamente lo stesso file con il comando touch:

sudo touch EXTERNALLY-MANAGED

Ora dovresti essere in grado di installare i pacchetti senza problemi con pip o pip3.

2. Utilizza ambienti virtuali per installare pacchetti pip

Un altro approccio che puoi adottare è l'utilizzo ambienti virtuali per il tuo progetto Python. Gli ambienti virtuali sono un ottimo modo per isolare pacchetti specifici del programma dal sistema operativo e consentono anche di organizzare in modo ordinato il tuo progetto.

Ecco come creare un ambiente virtuale e installare i pacchetti con pip:

  1. Innanzitutto, crea l'ambiente virtuale con:
    python3 -m venv venv
  2. Ottieni il fileactivate all'interno della directory bin utilizzando il comando source:
    source venv/bin/activate

Il prompt della shell dovrebbe essere aggiornato con il nome dell'ambiente virtuale. Ora sarai in grado di installare tutti i pacchetti Python che desideri.

Come puoi vedere, il openai Inizialmente non è stato possibile installare il pacchetto Python, ma dopo la creazione e il passaggio a un ambiente virtuale, viene installato in modo impeccabile.

3. Usa pipx per installare i pacchetti Python

pipx è un'utilità per l'installazione di pacchetti Python in ambienti virtuali e isolati. Automatizza passaggi come la creazione di ambienti virtuali per ciascun pacchetto e la creazione di collegamenti simbolici ai pacchetti nel file .local/bin cartella in modo da poter chiamare ogni pacchetto dalla shell in ogni momento.

L'uso di pipx per installare i pacchetti ti aiuta a evitare l'errore "ambiente gestito esternamente" mentre installa i pacchetti in ambienti virtuali. Per utilizzare pipx, installalo innanzitutto con il gestore pacchetti predefinito della tua distribuzione.

Sui derivati ​​​​di Ubuntu/Debian:

sudo apt-get install pipx

Sui sistemi basati su Arch:

sudo pacman -S pipx

Su Fedora/CentOS/RHEL:

sudo dnf install pipx

Una volta installato pipx, usalo proprio come useresti pip per installare i pacchetti. Ecco un comando di esempio:

pipx install openai

Per saperne di più su pipx, puoi fare riferimento alla sua pagina man usando il comando man.

Ora sai come correggere l'errore "gestito esternamente".

Dopo aver corretto l'errore "ambiente gestito esternamente", dovresti essere in grado di continuare a lavorare sul tuo progetto o a praticare la programmazione Python generale. Se ti concentri su quest'ultimo, potresti voler dare un'occhiata ai diversi modi di apprendimento gamificati programmazione che ti aiuterà a imparare Python, o qualsiasi linguaggio, molto più velocemente in modo pratico e gratificante modo.