Ho un grande progetto ML in codice Python 2 e ho appena iniziato a usare PyCharm come IDE. Attualmente sto usando WinPython 3.4 e preferirei fare di tutto in python 3 invece di continuare a utilizzare legacy 2. Quando ho clonato il progetto da git, è apparso un popup in pycharm che era qualcosa sulla falsariga della conversione del codice in 3 su 2 ma non ci ho mai pensato ed è uscito. Come lo converto?Converti codice python 2 in 3 in PyCharm
risposta
Ho trovato un modo in Pycharm IDE per convertire file da v2 a v3 utilizzando lo strumento 2to3.
Ho applicato in pycharm comunity edition v 2016.2.3 in ambiente Windows.
- click terminale nella barra di stato Ora, tu sei al comando di shell, nella root del vostro progetto.
tipo il comando (per convertire myfile.py):
2to3 myfile.py -w
Lo strumento modifica il codice del file, e il vostro IDE si riflette con i cambiamenti.
Per modificare tutti i file nella cartella, digitare il comando
2to3 . -w
L'opzione -w di scrivere in realtà le modifiche. Per maggiori dettagli scrivere:
2to3 -h
C'è uno script incluso con Python, di solito a [Python Root]/Tools/Scripts/2to3.py
. È possibile eseguire tale script su un file python (o una directory di file python) e gestirà molte conversioni, almeno per le modifiche nella libreria standard.
Diventa un po 'più complicato se il progetto utilizza altre librerie di terze parti. È possibile che le API siano cambiate durante la transizione 2 a 3 e lo script 2to3.py
non sarà a conoscenza di tali modifiche API. La soluzione migliore è eseguire lo script di conversione e quindi apportare manualmente eventuali altre modifiche necessarie.
Prima di tutto vorrei salvare una copia di backup del file Python 2 prima.
È quindi possibile provare a convertire il codice utilizzando lo strumento di traduzione automatica Python 2 to 3 "2to3" che è incorporato in Python tramite la libreria standard. dettagli sul loro utilizzo può essere trovato qui: https://docs.python.org/2/library/2to3.html#
Hai anche la possibilità di scegliere tra due strumenti alla porta il codice automaticamente: Modernizzare e Futurize. Controllali qui sotto.
Modernizzare ->https://python-modernize.readthedocs.io/en/latest/
Futurize ->http://python-future.org/automatic_conversion.html
In termini di PyCharm, non ho visto/non so di qualsiasi strumento specializzato all'interno dell'IDE che converte il codice Python 2 a Python 3. Vorrei attenermi ai 3 strumenti sopra.
Buona fortuna!
Vai alla cartella in cui il vostro python2script.py è esistente nella linea di comando,
quindi eseguire il comando:
pitone C:/Python/Strumenti/scripts /2to3.py -w python2script.py
puoi vedere che il tuo python2scipt.py è stato aggiornato.
Per convertire il tuo script python dalla versione 2 alla versione 3, puoi semplicemente utilizzare l'utilità 2to3.
Sul terminale Linux -
$ 2to3 my_file.py # shows output only on terminal
o
$ 2to3 -w my_file.py # overwrites the file with python-3 code
dove my_file.py è il file che si desidera convertire.
- 1. come convertire Python 3 in Python 2 codice?
- 2. Codice di python di debug in pycharm
- 3. Come impostare la preferenza Python 2 in PyCharm?
- 4. Utilizzo di nosetest in PyCharm con python 2 e 3 installati fianco a fianco
- 5. Catch Broken Pipe in Python 2 AND Python 3
- 6. Tipi di sottoclassi incorporati in Python 2 e Python 3
- 7. Indicizzazione delle directory escluse in PyCharm 3
- 8. Nuovo progetto: Python 2 o Python 3?
- 9. Python: diverso comportamento in modalità esecuzione contro debug in PyCharm
- 10. Converti una stringa in immagine in python
- 11. Differenza in "dir" tra Python 2 e 3
- 12. Come si eseguono Python 2 e 3 in Windows 7?
- 13. Converti decimale in binario in python
- 14. Come utilizzare il getpass.getpass Python in PyCharm
- 15. Python Converti Excel in CSV
- 16. Byte chunking (senza stringhe) in Python 2 e 3
- 17. Anaconda: Python 3 e 2 in IPython/Jupyter Notebook
- 18. Perché questo codice argparse si comporta in modo diverso tra Python 2 e 3?
- 19. Python allungabile con - con super() Python 3 vs Python 2
- 20. Qual è la differenza tra 3/2 e -3/2?
- 21. Word wrapping in PyCharm Python Console?
- 22. Variabile esplicita come inutilizzata in Python/PyCharm
- 23. Come selezionare la versione Python in PyCharm?
- 24. python 2 code: se python 3 then sys.exit()
- 25. Perché Python 3 è notevolmente più lento di Python 2?
- 26. Unpickling di un oggetto python 2 con python 3
- 27. Converti int in double Python
- 28. Converti Differenza tra 2 volte in Millisecondi?
- 29. Converti 2 byte in un numero
- 30. Converti 2 byte in un numero intero
'2to3.py' convertirà l'80% dell'80% degli script (circa). – cdarke