Modulprobleme Python2 und 3 parallel

Probleme bei der Installation?
Antworten
xeike
User
Beiträge: 83
Registriert: Donnerstag 28. Februar 2013, 09:58

Hallo zusammen!

Ich verwende auf einem Rechner (Ubuntu GNU/Linux) Version 2 und 3 von Python parallel. Nun habe ich mir python-usb installiert und möchte damit unter Python 3 arbeiten. Leider ist das nur für Python 2.7 verfügbar. Auf der pyusb-Webseite wird jedoch angegeben, dass Version 3 von Python ebenfalls unterstützt wird.

Kann man die Module einfach so in ein anderes Verzeichnis kopieren? Kann ich irgendwo einstellen, dass Python3 als Installation immer zu nutzen ist?

xe
BlackJack

@xeike: Nein man kann Module nicht einfach so kopieren. Python 3 ist nicht rückwärtskompatibel zu Python 2. Die syntaktischen und semantischen Veränderungen sind nicht unbedingt riesig, aber unverändert läuft Quelltext nur, wenn er sorgfältig so entwickelt wurde, das er unter beiden Major-Versionen funktioniert.

Python3 zur Standardversion zu machen ist gefährlich, weil dann eben auch Programme die für 2 geschrieben wurden und einfach ``python`` verwenden, nicht mehr funktionieren. Da Python teilweise auch von systemrelevanten Skripten verwendet wird, ist so eine Umstellung potentiell gefährlich.

Bevor Du mit Deinem Projekt weiter machst, solltest Du abkären was Du alles für Module/Pakete ausserhalb der Standardbibliothek benötigst, und ob die alle schon für Python 3 verfügbar sind, und gegebenenfalls wie aufwändig eine Installation dafür wird. Vielleicht ist es einfacher bei Python 2 zu bleiben.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ein anderer Ansatz ist es virtualenv zu benutzen. Dort kannst du python3 zur Standardversion machen und mittels pip deine Abhaengigkeiten installieren (sehr wahrscheinlich auch aktuellere als in Ubuntu vorhanden).

Aber auch solltest du erstmal abklaeren, ob alle Module fuer Python 3 vorhanden sind.
xeike
User
Beiträge: 83
Registriert: Donnerstag 28. Februar 2013, 09:58

Danke.

Nee, die Module sind in den Distros noch nicht in der Python3-Version angekommen. Damit lasse ich Python dafür erst mal aussen vor und bleibe bei C.

Xe
BlackJack

@xeike: Warum dann nicht Python 2? Ich mag C als Sprache auch ganz gerne, aber es ist schon ein ziemlicher Unterschied zu Python.
Antworten