2016-06-17 18 views
8

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

+2

'2to3.py' convertirà l'80% dell'80% degli script (circa). – cdarke

risposta

25

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 
0

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.

0

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!

3

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.

0

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.

Problemi correlati