On Wednesday, March 29, 2017 6:04:01 PM CEST Gollum1 wrote:
> Quello che mi chiedo, è se in un ambiente di produzione sia meglio
> virtualenv o una installazione in /opt con pacchetti aggiunti installati
> con il suo sistema di packaging, che permetterebbe il mantenimento degli
> aggiornamenti in modo trasparente (aggiornare i pacchetti in pip non è
> sempre il massimo)

Per come è  pensato Python, installare in produzione è sempre un casino, a 
partire dall'interprete. Personalmente ho preferito usare un virtualenv e poi 
abilitarlo tramite script di init o tramite unit file di systemd. Un'altra 
buona soluzione è usare implicitamente zipimport, ovvero fai uno zip con 
dentro tutto (incluso un file __main__.py che avvia l'applicazione) e lo 
richiami con "python file.zip". Inoltre, ho sempre trovato questo punto un 
grosso tallone d'Achille per Python, perché rende difficoltosa la fruibilità 
dell'applicazione su piattaforme differenti da quella su cui è stata scritta. 
Da questo punto di vista, ho sempre invidiato Java, sia per la costruzione dei 
jar (che sono emulati in parte con la tecnica degli zipimport), sia per la 
portabilità dell'interprete (una JAVA_HOME compiata per x86_64 la copi/incolli 
direttamente su di una CentOS 5 senza problemi, con Python devi 
necessariamente compilare); e invidio Go, a cui guardo sempre di più rispetto 
a Python e soci

Enrico

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a