web-dev-qa-db-fra.com

Convertir le code python 2 en 3 dans PyCharm

J'ai un grand projet ML en code Python 2 et je viens tout juste de commencer à utiliser PyCharm en tant qu'IDE. J'utilise actuellement WinPython 3.4 et préférerais de préférence tout faire en python 3 plutôt que de continuer à utiliser l'héritage 2. Lorsque j'ai cloné le projet à partir de git, une fenêtre contextuelle dans pycharm est apparue, ce qui revient à convertir le code en 3 de 2 mais je n'y ai pas vraiment pensé et je suis sorti. Comment puis-je le convertir? 

16
loag

J'ai trouvé un moyen dans Pycharm IDE de convertir un fichier de v2 à v3 à l'aide de l'outil 2to3.

J'ai appliqué à pycharm comunity édition v 2016.2.3 dans un environnement Windows.

  • cliquez sur terminal dans la barre d'étatMaintenant, vous êtes dans la commande Shell à la racine de votre projet.
  • tapez la commande (pour convertir myfile.py):

    2to3 monfichier.py -w

L'outil modifie le code du fichier et votre IDE est reflété avec les modifications.

Pour modifier tous vos fichiers dans le dossier, tapez la commande

2to3 . -w

L'option -w permet d'écrire les modifications. Pour plus de détails, écrivez: 

  2to3 -h
43
M.Hassan

Goto le dossier où votre python2script.py est en ligne de commande,

puis exécutez la commande:

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

vous pouvez voir que votre python2scipt.py est mis à jour.

3
Mohan Babu

Avant toute chose, je voudrais d'abord enregistrer une copie de sauvegarde de votre fichier Python 2.

Vous pouvez ensuite essayer de convertir le code à l'aide de l'outil de traduction de code Python 2 à 3 automatisé "2to3" intégré à Python via la bibliothèque standard . Des informations détaillées sur l'utilisation sont disponibles à l'adresse suivante: https://docs.python.org/2/library/2to3.html#

Vous avez également le choix entre deux outils pour porter votre code automatiquement: Moderniser et Futuriser. Découvrez-les ci-dessous.

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

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

En ce qui concerne Pycharm, je n’ai pas vu/ne connais aucun outil spécialisé dans le IDE permettant de convertir le code de Python 2 en Python 3. Je me contenterais des 3 outils ci-dessus.

Bonne chance!

0
Jaxian

Pour convertir votre script python de la version 2 à la version 3, vous pouvez simplement utiliser l'utilitaire 2to3.

Sur le terminal linux - 

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

ou

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

où my_file.py est le fichier que vous voulez convertir.

0
Talat Parwez

Il y a un script inclus avec Python, généralement à [Python Root]/Tools/Scripts/2to3.py. Vous pouvez exécuter ce script sur un fichier python (ou un répertoire de fichiers python) et il gérera un grand nombre de conversions, du moins pour les modifications apportées à la bibliothèque standard.

Cela devient un peu plus compliqué si votre projet utilise d'autres bibliothèques tierces. Il est possible que les API de ceux qui ont été modifiés au cours de la transition 2 à 3 et le script 2to3.py ne soient pas informés de ces modifications. La meilleure solution consiste à exécuter le script de conversion, puis à apporter manuellement les autres modifications nécessaires.

0
Brendan Abel