È facile trovare domande che chiedono se si dovrebbe iniziare con python 2 o python 3, ed è un consenso che python 2 è la strada da percorrere poiché ha più librerie e quindi è meglio supportato.
Python 3 è stato lanciato di nuovo nel 2008 e questa domanda ha già affrontato una migrazione. Poiché era troppo presto, la soluzione era aspettare.
Sono passati 5 anni e un buon numero di librerie supporta già python 3. Al momento scrivo questa domanda, secondo questa pagina 244 pacchetti su pypi supportano python 3 mentre 156 no. Tra i primi 30 pacchetti più scaricati, 24 supportano python 3
Seguendo questo mi sento abbastanza sicuro per iniziare la migrazione da Python 2 a 3 e anche evitare di dire alla gente di iniziare su python 2
Le mie ragioni spiegate, la domanda è:
Quali preoccupazioni dovrei avere durante la migrazione da Python 2 a 3?
Non solo la sintassi del codice e le sostituzioni, in quanto è facile trovare uno strumento di conversione per eseguire l'80% del lavoro, ma problemi generali come:
- Modifiche al meccanismo degli ambienti virtuali?
- Differenze di costruzione, imballaggio e distribuzione
- Avrò solo cPython? (Sembra che Jython abbia una lunga strada da percorrere per raggiungere python 3)
- Programmazione multi threading / elaborazione. Sempre un argomento delicato
- Testing. Qualche modifica?
- Quali sono le cose comuni che posso ancora fare come in Python 2 ma dovrei fermarmi e iniziare a farlo in un altro modo? Sento che uno strumento di sostituzione del codice cambierà il codice per renderlo semplicemente "eseguibile", ma non userà l'opzione corretta o migliore se l'opzione stessa comporta grandi cambiamenti
ps: questa domanda è stata posta sullo stack overflow, ma è stata chiusa come troppo ampia. Ad ogni modo, ho sentito che il posto giusto è qui