Hoe controleer ik welke versie van Python mijn script uitvoert?
Hoe kan ik controleren welke versie van de Python Interpreter mijn script interpreteert?
1090
3
Hoe kan ik controleren welke versie van de Python Interpreter mijn script interpreteert?
Deze informatie is beschikbaar in de string sys.version in de module sys:
Menselijk leesbaar:
Voor verdere verwerking:
Om ervoor te zorgen dat een script draait met een minimaal vereiste versie van de Python interpreter voeg je dit toe aan je code:
Dit vergelijkt major en minor versie informatie. Voeg micro (=
0
,1
, etc) en zelfs releaselevel (='alpha'
,'final'
, etc) toe aan de tuple als je wilt. Merk echter op dat het bijna altijd beter is om "duck" te controleren of een bepaalde feature er is, en zo niet, workaround (of bail out). Soms gaan functies weg in nieuwere releases, en worden ze vervangen door andere.Je beste gok is waarschijnlijk iets als dit:
Bovendien kun je je imports altijd verpakken in een eenvoudige try, die syntaxfouten zou moeten opvangen. En, om @Heikki's punt, deze code zal compatibel zijn met veel oudere versies van python:
sys.version geeft je wat je wilt, kies gewoon het eerste nummer :)