web-dev-qa-db-fra.com

Basculement entre Python 2.x et 3.x sur une machine Linux

J'ai deux bases de code build_2.x et build_3.x qui ont été codées respectivement dans python 2.x et python 3.x.

J'ai une machine Linux sur laquelle Python 2.x est installé, mais pour les besoins de mon projet, je dois exécuter les deux versions sur la même machine.

  1. Comment exécuter build_2.x et build_3.x séparément?
  2. Dois-je d'abord exécuter le build_2.x, puis-je mettre à jour Pthon vers 3.x après avoir besoin d'exécuter build_3.x?

Et aussi quelle est la fonction de virtualenv dans ce cas?

1
Abdulvakaf K

Il existe deux programmes pour traduire le code Python en/de Python 2 et Python 3, 2to3 et python3-3to2. 2to3 est installé par défaut et python3-3to2 peut être installé à l'aide de la commande suivante:

Sudo apt install python3-3to2

Pour convertir un fichier nommé example.py, exécutez les commandes suivantes:

2to3 -w example.py # translates Python 2 code to Python 3 code 

ou

3to2 -w example.py # translates Python 3 code to Python 2 code

Utilisation
Traduction automatique Python 2 à 3 - Python documentation

1
karel

Solution unique possible pyenv + virtualenv. Cela permet le passage temporaire de Python2 à Python3 (par projet). La bonne instruction étape par étape est la suivante: https://askubuntu.com/a/865644/4291 ou ici http://akbaribrahim.com/managing-python-virtual-environments- avec-pyenv-virtualenv / . La bonne explication du rôle de virtualenv est ici: https://stackoverflow.com/questions/29950300/what-is-the-relationship-between-virtualenv-and-pyenv

0
Ova