J'utilise un code simple en Python pour affirmer la nouvelle version avant de continuer. Voici le code :-

import sys
assert sys.version_info >= (3, 5)
print(f"New formatting style")

L'exécution de ce code via l'interpréteur Python 2.6 renvoie une SyntaxError comme suit :

  File "test.py", line 3
    print(f"New formatting style")
                                ^
SyntaxError: invalid syntax

Je m'attendais à une AssertionError. Une solution de contournement ? Mon objectif est d'afficher un message convivial indiquant que la version Python n'est pas prise en charge.

1
Elvis M 17 oct. 2020 à 18:45

1 réponse

Meilleure réponse

Je pense que le problème est que l'interpréteur Python tokenise le code avant d'exécuter des instructions.

Une solution consiste à séparer votre code de travail dans un module différent et à mettre juste un avertissement dans le fichier main.py

Par exemple.

import sys
if sys.version_info < (3, 5):
    print("Sorry requires Python 3.6 or greater")
    sys.exit(1)
else:
    import MyCoreModule
    MyCoreModule.main()
0
Rob Probin 17 oct. 2020 à 16:04