[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