Soll man Python Version 2 oder Version 3 für Machine Learning lernen?

Manche Anfänger stellen sich die Frage, ob das für Machine Learning verwendete Python auf dem eigenen Computer in der Version 2 oder Version 3 vorliegen soll. Diese Frage hat ihre Berechtigung, da Python 3 viele Veränderungen mit sich gebracht hat, so dass Projekte auf Python-2-Basis nicht einfach unter dem Python-3-Interpreter weiterlaufen.

Die eingangs gestellte Frage lässt sich aber inzwischen sehr klar beantworten:

  • Beginnt man ein neues Projekt oder ist man ohnehin eine Anfängerin oder ein Anfänger, dann entscheidet man sich für Python 3.
  • Hat man bei einem bereits bestehenden Projekt die Wahl, dann entscheidet man sich für Python 3.

Es mutete in der Tat seltsam an, auch im Jahr 2018 noch die Frage stellen zu müssen, ob Neulinge mit der Version 2 oder 3 in Python eintauchen sollten, denn Python 3 wurde bereits 2008 veröffentlicht. Das Besondere war allerdings, dass es sich dabei um eine Version handelte, die mit früheren Veröffentlichungen inkompatibel war. So war der Weg für die 3er-Version recht lang und steinig und einige Wissenschaftler stellten im vollen Ernst die Frage, ob die Wissenschaftler überhaupt jemals auf Python 3 wechseln würden. Die Python-Initiatoren wollten ursprünglich 2015 die Unterstützung für die Version einstellen, verlängerten die Unterstützung für die 2er-Version bis 2020, einfach weil Python 2 eine so breite Einsatzbasis hat und auch viele wichtige Bibliotheken sehr langsam von der 2er- auf die 3er-Version emigriert wurden. Inzwischen sieht das Bild jedoch recht vielversprechend aus, denn 344 von 360 der wichtigsten Bibliotheken bieten eine Unterstützung für Python 3. Darüber hinaus kündigen immer mehr Bibliotheken ein Ende der Unterstützung für Python 2 an, so dass es wenig Sinn hat, heute mit dem Erlernen der älteren Version zu beginnen.

Darüber hinaus bietet Python eine gut funktionierende virtuelle Umgebung namens Virtualenv, in der man jederzeit ein isoliertes Python-Umfeld erschaffen kann, wenn es sein muss auch für Python 2.

Wer sich für eine intensive Diskussion zum Thema „Python 2 oder 3“ interessiert, kann sich den Artikel The (lack of a) case against Python 3 durchlesen und anschließend die Kommentare unter dem Artikel studieren, denn dort werden viele Argumente ausgetauscht.