[Python] venv + Debian

Alessandro T. tagliare3 a yahoo.it
Gio 12 Mar 2020 11:18:21 CET


Ciao ML,

affascinato dalla separazione tra sistema e ambiente di sviluppo ho 
iniziato ad usare venv; principalmente perché presente nella standard 
library e perché la procedura di upgrade sembra piuttosto semplice.
Quindi, per ogni nuovo progetto un bel:

python3 -m venv venv
source venv/bin/activate
[pip ... ]
...
deactivate

convinto che non ci sarebbe stata alcuna modifica all'ambiente virtuale 
senza il mio esplicito intervento. Così è stato fino all'altro giorno, 
quando ho aggiornato da 3.7 a 3.8. Tutti gli script funzionano, tranne i 
meno utilizzati e incidentalmente quelli in cui ho installato moduli 
aggiuntivi.
A questo punto mi sono reso conto che `python3 -m venv venv` crea in 
`venv/bin`, in particolare, il link `python3 -> /usr/bin/python3`! Ma 
dove va a finire la separazione tra ambienti? Mi sono detto.
Un bel `python3 -m venv -h` ha diradato un po' di nebbia: nella mia 
configurazione il default è il symlinks!

Quindi qualche domanda:
* la scelta di symlinks è una prerogativa di Debian? per risparmiare 
10MB? ha qualche senso più profondo?
* per i prossimi progetti `python3 -m venv --copies venv` sarà sufficiente?
* dov'è possibile cambiare il comportamento predefinito da symlinks a 
copies?
* è possibile ripristinare l'ambiente al precedente 3.7? copiare il 
vecchio python3.7 non è stato sufficiente, magari c'è una qualche 
procedura... al momento non è un grosso problema: per quei progetti con 
moduli aggiunti creo nuovi ambienti con '--copies' e sistemo le 
dipendenze. (grazie quarantena)

Grazie

-- 
Alessandro T.

R: Perché leggiamo dall'alto al basso e da sinistra a destra.
D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato?



Maggiori informazioni sulla lista Python