2016-06-17 8 views
8

Ich habe ein großes ML-Projekt in Python 2 Code und ich begann gerade PyCharm als IDE zu verwenden. Ich benutze derzeit WinPython 3.4 und ich würde am liebsten alles in Python 3 machen, anstatt Legacy 2 weiter zu verwenden. Als ich das Projekt von Git geklont habe, kam ein Popup in pycharm auf, das etwas mit dem Konvertieren des Codes zu tun hatte 3 von 2, aber ich habe nicht wirklich darüber nachgedacht und es verlassen. Wie konvertiere ich es?Konvertieren von Python 2 Code in 3 in PyCharm

+2

'2to3.py' konvertiert 80% von 80% der Skripte (ungefähr). – cdarke

Antwort

25

Ich fand einen Weg in Pycharm IDE, um Datei von v2 zu v3 mit 2to3 Werkzeug zu konvertieren.

Ich habe in pycharm community Ausgabe v 2016.2.3 in Windows-Umgebung angewendet.

  • Klick Terminal in der Statusleiste Nun sind Sie in Shell-Befehl, in der Wurzel Ihres Projekts.
  • Geben Sie den Befehl (myfile.py konvertieren):

    2to3 myfile.py -w

Das Werkzeug den Code der Datei ändert, und die IDE wird mit den Änderungen wider.

Um alle Dateien in dem Ordner zu ändern, geben Sie den Befehl

2to3 . -w 

Die Option -w, um die Änderungen tatsächlich zu schreiben. Für weitere Informationen schreiben:

2to3 -h 
0

Es gibt eine script in Python enthalten, normalerweise unter [Python Root]/Tools/Scripts/2to3.py. Sie können dieses Skript für eine Python-Datei (oder ein Verzeichnis von Python-Dateien) ausführen und es wird viele Konvertierungen verarbeiten, zumindest für Änderungen in der Standardbibliothek.

Es wird ein wenig komplizierter, wenn Ihr Projekt andere 3rd-Party-Bibliotheken verwendet. Es ist möglich, dass sich die APIs während des 2-zu-3-Übergangs geändert haben und das Skript 2to3.py nichts über diese API-Änderungen weiß. Am besten führen Sie das Conversion-Skript aus und nehmen dann manuell weitere Änderungen vor, die erforderlich sind.

0

Vor allem würde ich zuerst eine Sicherungskopie Ihrer Python 2-Datei speichern.

Sie können dann versuchen, den Code mit dem "2to3" Automatisierten Python 2 zu 3 Codeübersetzungstool zu konvertieren, das in Python über die Standardbibliothek integriert ist. Hinweise zur Verwendung finden Sie hier: https://docs.python.org/2/library/2to3.html#

Sie auch die Wahl zwischen zwei Werkzeugen Port Code automatisch haben: Modernisieren und Futurize. Schau sie dir unten an.

Modernisieren ->https://python-modernize.readthedocs.io/en/latest/

Futurize ->http://python-future.org/automatic_conversion.html

In Bezug auf den PyCharm, ich habe nicht gesehen/Weiß nicht jedes speziellen Tool innerhalb des IDE, den Code von Python konvertiert 2 Python 3. Ich würde mich an die drei obigen Tools halten.

Viel Glück!

3

Goto den Ordner, in dem python2script.py wird in der Befehlszeile vorhanden,

dann den Befehl ausführen:

Python C:/Python/Tools/scripts /2to3.py -w python2script.py

Sie können sehen, dass Ihre python2scipt.py aktualisiert wird.

0

Um Ihr Python-Skript von Version-2 in Version-3 zu konvertieren, können Sie einfach 2to3-Dienstprogramm verwenden.

Unter Linux Terminal -

$ 2to3 my_file.py    # shows output only on terminal 

oder

$ 2to3 -w my_file.py   # overwrites the file with python-3 code 

wo my_file.py die Datei, die Sie konvertieren möchten.