Python 2 vs. Python 3: verschil tussen versies
(9 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 63: | Regel 63: | ||
</pre> | </pre> | ||
− | == | + | == Incompatibele minor-versies? == |
− | Het is | + | Het is normaal 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 dat het er op lijkt, dat minor-versies niet met elkaar compatibel zijn. Je kunt dus niet in één script bv. 3.5- & 3.7-bibliotheken gebruiken. |
+ | |||
+ | [https://stackoverflow.com/questions/52138280/easiest-way-to-use-python-3-6-and-3-7-on-same-computer] geeft dit voorbeeld: | ||
+ | |||
+ | <pre> | ||
+ | I have Python 3.7 installed on my computer. I want to use tensorflow and just found out that it | ||
+ | basically doesn't support 3.7, so I'd like to (also) install Python 3.6. | ||
+ | |||
+ | Any suggestions of how to do that? Do I have to uninstall 3.7 and replace it by 3.6 or is there | ||
+ | a way to just use 3.6 for the stuff related to tensorflow? | ||
+ | </pre> | ||
+ | |||
+ | De antwoorden behandelen verschillende manieren om tussen versies van Python te wisselen. Daar schijnen tools voor te zijn zoals <code>virtualenv</code>, <code>pipenv</code> en <code>anaconda</code>. Of gewoon een andere interpretator aanroepen. | ||
== Op welke versie standaardiseer ik? == | == Op welke versie standaardiseer ik? == | ||
Regel 75: | Regel 87: | ||
* Jan. 2019: Ik blijk beide versies op m'n laptop te hebben + wisselen is gemakkelijk → '''3.x''' | * Jan. 2019: Ik blijk beide versies op m'n laptop te hebben + wisselen is gemakkelijk → '''3.x''' | ||
− | == Ondersteuning Python 2 stopt | + | === 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 | Als ik nog enige twijfel zou hebben, is die nu weg: https://tweakers.net/nieuws/156416/ncsc-waarschuwt-voor-einde-ondersteuning-python-2.html | ||
+ | |||
+ | === MySQL.connector vereist 3.7 (okt. 2019) === | ||
+ | |||
+ | Oracle's connector voor MySQL-databases, vereist versie 3.7. Sois → '''3.7'''. Waarschijnlijk zal ik meerdere minor-versies naast elkaar gebruiken. | ||
== Zie ook == | == Zie ook == | ||
* [[Installatie & bijwerken van Python]] | * [[Installatie & bijwerken van Python]] | ||
+ | |||
+ | == Bronnen == | ||
+ | |||
+ | * https://stackoverflow.com/questions/52138280/easiest-way-to-use-python-3-6-and-3-7-on-same-computer | ||
+ | * https://virtualenv.pypa.io/en/stable/ | ||
+ | * https://github.com/pypa/pipenv | ||
+ | * https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html |
Huidige versie van 9 okt 2019 om 08:01
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
Incompatibele minor-versies?
Het is normaal dat meerdere versies van Python op een systeem zijn geïnstalleerd [2], zoals al bleek uit de voorbeelden hiervoor. Het wordt pas vervelend dat het er op lijkt, dat minor-versies niet met elkaar compatibel zijn. Je kunt dus niet in één script bv. 3.5- & 3.7-bibliotheken gebruiken.
[3] geeft dit voorbeeld:
I have Python 3.7 installed on my computer. I want to use tensorflow and just found out that it basically doesn't support 3.7, so I'd like to (also) install Python 3.6. Any suggestions of how to do that? Do I have to uninstall 3.7 and replace it by 3.6 or is there a way to just use 3.6 for the stuff related to tensorflow?
De antwoorden behandelen verschillende manieren om tussen versies van Python te wisselen. Daar schijnen tools voor te zijn zoals virtualenv
, pipenv
en anaconda
. Of gewoon een andere interpretator aanroepen.
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
MySQL.connector vereist 3.7 (okt. 2019)
Oracle's connector voor MySQL-databases, vereist versie 3.7. Sois → 3.7. Waarschijnlijk zal ik meerdere minor-versies naast elkaar gebruiken.