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
Antwort
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
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.
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!
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.
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.
- 1. Debugging Python-Code in pycharm
- 2. Konvertieren Swift 2 Code Swift 3
- 3. Konvertieren von Python 3 Bibliotheken in 2.7
- 4. Konvertieren von Python 3 ResourceWarnings in Ausnahme
- 5. PyCharm Debug-Modus mit Python 3
- 6. pycharm konvertieren Tabs automatisch in Leerzeichen
- 7. Verwendung von nosetests in PyCharm mit Python 2 und 3 nebeneinander installiert
- 8. Python 3 Äquivalent von Python 2 Zentrum
- 9. Ausschließen von ausgeschlossenen Verzeichnissen in PyCharm 3
- 10. SQL konvertieren von 3 zu 2 Spalten
- 11. Code Fragment-Modus in Pycharm 3 Debugging-Ergebnisse Keine
- 12. Python 2 vs. Python 3 - urllib-Formate
- 13. Beide Python 2 und 3 in Emacs
- 14. Python 3-Skript in Funktion konvertieren
- 15. Python 2 Code: Wenn Python 3 dann sys.exit()
- 16. Konvertieren von C++ - Code in C# -Code
- 17. Ausführen von Python-Paketeinheitstests in PyCharm
- 18. Praat Integration in Python 2/3
- 19. Verwenden von Sublime Text 2 Tastenbelegungen in PyCharm
- 20. Warum funktioniert 2 .__ nicht __ (3) in Python?
- 21. Eval Umfang in Python 2 vs. 3
- 22. Müssen 3-Brief-Monats-Code in Zwei-Buchstaben-Monat-Code konvertieren Python
- 23. Anzeige 2e-3 als 2 * 10^-3 in Python
- 24. Konvertieren von Gödel-Code in Text
- 25. Python 2-Objekt mit Python 3 entpacken
- 26. Zeilenumbruch in PyCharm Python Console?
- 27. Python-Dokumentation in PyCharm IDE
- 28. Python-Programm in C/C++ - Code konvertieren?
- 29. Konvertieren von Str in Int in Python
- 30. Konvertieren Wörterbuch von Wörterbüchern in DataFrame Python
'2to3.py' konvertiert 80% von 80% der Skripte (ungefähr). – cdarke