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.
Et aussi quelle est la fonction de virtualenv dans ce cas?
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
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