Jump to content

Recommended Posts

Geschrieben

Hallo,

 

nachdem ich vor einiger Zeit auf Arch Linux umgestiegen bin, wollte ich den Brick Viewer dort wieder installieren. Da dort die Debian Pakete natürlich nicht funktionieren wollte ich die Installation deshalb wie unter http://www.tinkerforge.com/en/doc/Software/Brickv_Install_Linux.html#from-source beschrieben durchführen. Dies schlägt allerdings fehl mit dem Fehler:

Traceback (most recent call last):
  File "build_serviceproviders.py", line 30, in <module>
    import urllib2
ImportError: No module named 'urllib2'

Ein wenig Recherche brachte zu Tage, dass urllib2 nur unter Python2 verfügbar ist. Arch verwendet jedoch standardmäßig mit dem Befehl python die Version 3.x. Auch ein expliziter Start mit python2 brachte nicht den gewünschten Erfolg und es trat wieder die selbe Fehlermeldung auf.

 

Im Source fand ich dann die zahlreichen system Aufrufe, die z.B. in der build_ui.py in Zeile 79 stehen:

system("python build_serviceproviders.py")

 

Das Problem ist nun aber, dass Arch an dieser Stelle die Datei natürlich wieder mit Python 3 ausführt, da die Version 2 an dieser Stelle nicht explizit übergeben wird. In der Datei build_serviceproviders.py wird nun aber zum ersten Mal eine Bibliothek eingebunden, die nicht unter Python 3 verfügbar ist. Somit stürzt der Build Vorgang ab.

Ich schlage daher vor den Code so anzupassen, dass Python über den Befehl python2 aufgerufen wird. Auf Debian funktioniert das so weit ich weiß auch und unter anderen Linux Distribution (z.B. Arch) können so Probleme vermieden werden.

 

Der Workaround sieht zurzeit wie folgt aus:

[*]Den Symlink zu Python3 löschen: rm /usr/bin/python

[*]Den Symlink zu Python2 erstellen: ln -s python2 /usr/bin/python

 

Da ich aber nicht weiß, wo auf meinem System möglicherweise erwartet wird, dass der Befehl python die Version 3.x aufruft habe ich diese Änderung nach dem Build wieder rückgangig gemacht.

 

Robin

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...