Pensiamo se dovremmo convertire un'applicazione Python 3 piuttosto grande in Python 3 nel prossimo futuro.
Tutte le esperienze, possibili sfide o linee guida sono molto apprezzate.Passa a Python 3 - Best practice
risposta
Il mio suggerimento è quello di attaccare con Python 2.6+, ma semplicemente aggiungere il flag -3
per avvisare l'utente circa le incompatibilità con Python 3.0. Quindi puoi assicurarti che il tuo Python 2.6 possa essere facilmente aggiornato a Python 3.0 tramite 2to3, senza in realtà fare ancora quel salto. Ti suggerirei di trattenerti in questo momento, perché a un certo punto potresti voler usare una libreria e scoprire che è disponibile solo per 2.6 e non 3.0; se ti assicuri di ripulire le cose contrassegnate da -3
, allora sarai facilmente in grado di effettuare il salto, ma sarai anche in grado di sfruttare il codice disponibile solo per 2.6+ e che non è ancora pronto per 3.0.
Per ogni libreria di terze parti che si utilizza, assicurarsi che abbia il supporto per Python 3. Molte delle principali librerie Python sono state migrate a 3 ora. Controlla i documenti e le mailing list per le librerie.
Quando tutte le librerie da cui si dipende sono supportate, suggerisco di andare per questo.
Non pensavo che molte delle principali librerie Python siano state ancora migrate. A quali stai pensando? –
Un paio di esempi: sqlalchemy, jinja2, werkzeug – codeape
Ma immagino dipenda dal tuo def. di "maggiore" ... Questi tre sono importanti per me quando creo le app web. Quindi sono "maggiori" per me, almeno. – codeape
- 1. ASP.NET MVC 3 - ViewModel Best Practice
- 2. Best practice per l'aggiornamento dei moduli Python?
- 3. Best practice per le eccezioni Python?
- 4. Metodo factory per oggetto python - best practice
- 5. Python best practice in termini di registrazione
- 6. Dividere le tuple in Python - best practice?
- 7. Hibernate Performance Best Practice?
- 8. Git big best practice
- 9. Selenio, best practice Nunit?
- 10. ASP.NET MVC 3 Helpers HTML personalizzati - Best practice/usi
- 11. Laravel Cache :: Best practice
- 12. Integrazione continua - Best practice
- 13. Git Setup Best practice
- 14. Best practice sul frammento
- 15. Best practice di confronto
- 16. IBOutlet best practice
- 17. UISegmentedControl Best Practice
- 18. DTO: best practice
- 19. node.js + best practice boilerplate
- 20. best practice per l'accesso a ASP.net MVC?
- 21. Best practice di RestAngular
- 22. C# sottoclasse Best Practice
- 23. Ricordami Cookie best practice?
- 24. Best practice Maven
- 25. Azure ACS - Implementazione best practice
- 26. Best practice: Django multilingua
- 27. DocumentDB TransientFaultHandling Best Practice
- 28. Cruise Control.Net best practice
- 29. Class best practice
- 30. Marionette controller Best Practice
+1 e passare a 2.7 quando esce dalla versione beta - ancora un altro passo avanti a 3.1 –