Skip to main content
  1. Comandi/

Python venv su Ubuntu

·1 min
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Perche' serve
#

Ubuntu 24.04 blocca pip install a livello di sistema (PEP 668) per proteggere i pacchetti Python usati internamente dall'OS. Se provi a installare qualcosa, vedi questo errore:

error: externally-managed-environment

La soluzione e' un virtual environment (venv): una cartella isolata con il proprio Python e il proprio pip, separata dal sistema. Stessa logica del vendor/ di Composer o del node_modules/ di npm — le dipendenze stanno dentro il progetto, non nel sistema globale.

Comandi
#

python3 -m venv ~/dlp-venv          # crea il venv nella home
source ~/dlp-venv/bin/activate       # attiva il venv (cambia il prompt)
pip install inotify                  # installa dentro il venv, non nel sistema

Quando il venv e' attivo vedi (dlp-venv) nel prompt. Per uscire:

deactivate

Ogni volta che riapri il terminale e vuoi usare il venv devi ri-eseguire il source.

Dove sta fisicamente
#

~/dlp-venv/ e' una cartella nella home. Contiene una copia di Python e tutti i pacchetti installati. Non tocca /usr/lib/python3/.

Collegato a
#

  • [[[DONE] lab-dlp-python-wazuh|lab-dlp-python-wazuh]] — lab dove e' stato usato il venv per installare inotify

Related