Python 2 vs. Python 3: verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 63: Regel 63:
 
</pre>
 
</pre>
  
== Concurrent versions ==
+
== Concurrent versions & libraries ==
  
Het is gebruikelijk dat meerdere versies van Python op een systeem zijn geïnstalleerd [https://en.wikibooks.org/wiki/Python_Programming/Creating_Python_Programs]. Kwestie van de juiste ''shebang'' toepassen, of de juiste interpreter-aanroep.
+
Het is nromaal dat meerdere versies van Python op een systeem zijn geïnstalleerd [https://en.wikibooks.org/wiki/Python_Programming/Creating_Python_Programs], zoals al bleek uit de voorbeelden hiervoor. Het wordt pas vervelend als ''biblioheken'' van bv. 3.5 en 3.7 niet in één script zijn toe te passen. Of zie ik iets over het hoofd?
  
 
== Op welke versie standaardiseer ik? ==
 
== Op welke versie standaardiseer ik? ==

Versie van 9 okt 2019 07:50

Python kent twee actuele major versies: 2.x en 3.x. Daarnaast lijken 3.5 & 3.7 van elkaar gescheiden te zijn (okt. 2019). Daarnaast is er een goede kans, dat je verscheidene versies tegelijkertijd op een computer hebt. Het maakt het er niet gemakkelijker op.

Versie achterhalen - Vanuit een script

Vanuit een script achterhalen met welke versie van Python het is aangeroepen [1]. Dit werkt voor zowel Python 2.x als 3.x:

import sys
print (sys.version)

Voorbeelden:

#! /usr/bin/python

import sys
print (sys.version)

geeft

2.7.12 (default, Nov 12 2018, 14:36:49) 
[GCC 5.4.0 20160609]

en

#! /usr/bin/python3

import sys
print (sys.version)

geeft

3.5.2 (default, Nov 12 2018, 13:43:14) 
[GCC 5.4.0 20160609]

Versie achterhalen - Vanuit bash

Bijvoorbeeld

python -V
python3 -V
python3.4 -V
python3.7 -V

Voorbeeld (okt. 2019):

python -V
Python 2.7.12
python3 -V
Python 3.5.2

Concurrent versions & libraries

Het is nromaal dat meerdere versies van Python op een systeem zijn geïnstalleerd [2], zoals al bleek uit de voorbeelden hiervoor. Het wordt pas vervelend als biblioheken van bv. 3.5 en 3.7 niet in één script zijn toe te passen. Of zie ik iets over het hoofd?

Op welke versie standaardiseer ik?

Python 2.x stamt uit 2008, dus het ligt voor de hand dat 3.x de juiste keuze is. Echter, een decennium later blijkt 2.x nog steeds relevant te zijn:

  • Half 2018: Op mijn laptop is 2.7 geïnstalleerd → Hierop standaardiseer ik
  • Jan. 2019: Nog steeds 2.7 op m'n laptop → 2.7
  • Jan. 2019: Ik blijk beide versies op m'n laptop te hebben + wisselen is gemakkelijk → 3.x

Ondersteuning Python 2 stopt! (aug. 2019)

Als ik nog enige twijfel zou hebben, is die nu weg: https://tweakers.net/nieuws/156416/ncsc-waarschuwt-voor-einde-ondersteuning-python-2.html

Zie ook