Seite 1 von 1

python auf OpenWRT

Verfasst: Freitag 12. Oktober 2012, 21:20
von Firefly
Heyho,

im Prinzip habe ich schon in einem anderen Forum gefragt, aber ich dachte mir, ich verlagere das ganze mal in den "Fachbereich".
-> http://www.ip-phone-forum.de/showthread.php?t=252378

Und zwar habe ich Probleme python auf OpenWRT zum Laufen zu bringen.
Ich hoffe mir kann hier diesbezüglich jemand helfen.

Bin grad beim Folgenden:
python & Co ist installiert, ich kann es allerdings nicht "ausführen", zumindest nicht mit dem Befehl "python", den gibts einfach nicht.
Wenn ich allerdings den vollen Pfad eingebe, dann geht es ("/opt/usr/bin/python -....").
Ich möchte python eigentlich nur, damit ich pyload ausführen kann.
Also hab ich folgendes probiert:
# /opt/usr/bin/python /opt/usr/share/python/pyload/pyLoadCore.py -s

Das liefert allerdings nur Errors und Fehlermeldungen.
Ich möchte eigentlich erstmal nur, dass der "python"-Befehl richtig "verlinkt" ist. Alles weitere kommt danach. Kann mir jemand helfen?

MfG

//Edit:
Das ist die Fehlermeldung:

Traceback (most recent call last):
File "/opt/usr/share/python/pyload/pyLoadCore.py", line 46, in <module>
from module.HookManager import HookManager
File "/opt/usr/share/python/pyload/module/HookManager.py", line 29, in <module>
from module.PluginThread import HookThread
File "/opt/usr/share/python/pyload/module/PluginThread.py", line 31, in <module>
from pycurl import error
ImportError: File not found

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 12:58
von Leonidas
Du musst halt entweder den Ordner in dem Python liegt in die PATH-Umgebungsvariable einsetzen oder aus einem Ordner der in PATH drin ist einen Symlink auf Python setzen.

Und das dein Programm nicht startet liegt daran dass du pycurl nicht installiert hast.

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 13:34
von Firefly
Hey,
danke für deine Antwort.
Seit gestern Abend hat sich viel verändert, ich hab nochmal alles umgekrempelt und OpenWRT nun auf dem USB Stick laufen, die Dateien werden jetzt "lokal" installiert.

zu pycurl: Package python-curl (7.19.0-1) installed in root is up to date.

Der Befehl "python" funktioniert jetzt einwandfrei.
Wenn ich allerdings pyload starten will, dann kommt folgendes:
Traceback (most recent call last):
File "/usr/share/python/pyload/pyLoadCore.py", line 55, in <module>
from module.database import DatabaseBackend, FileHandler
File "/usr/share/python/pyload/module/database/__init__.py", line 1, in <module>
from DatabaseBackend import DatabaseBackend
File "/usr/share/python/pyload/module/database/DatabaseBackend.py", line 33, in <module>
import sqlite3
File "/usr/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
from dbapi2 import *
File "/usr/lib/python2.7/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: No module named _sqlite3
Aus der letzten Zeile schließe ich, dass nun das Modul "sqlite3" nicht vorhanden/gefunden wurde.
Package python-sqlite3 (2.7.3-1) installed in root is up to date.
Wie man sieht ist sqlite3 installiert, d.h. es wird von python nicht gefunden.
Wie bekomm ich das nu wieder hin? ^^
Muss ich da dann trotzdem noch irgendwas in PATH eintragen?

MfG

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 14:18
von Leonidas
Dein Python ist offenbar ohne Support von SQLite kompiliert. Wie hast du es denn installiert?

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 14:37
von Firefly
Per Paket, von hier: http://downloads.openwrt.org/attitude_a ... /packages/
# opkg install python

Und es hat jede Menge Pakete installiert.
Das ist allerdings sehr komisch, da es eigentlich schon einige Leute gibt, die pyload samt python zum Laufen gebracht haben.
Was kann man denn dagegen tun?

//Edit:
Ich habe jetzt sowohl python-sqlite3 als auch python-sqlite installiert.
Das pyload-Setup startet jetzt. Allerdings komme ich nicht über den Systemcheck hinaus, da er mir sagt, dass sqlite3 fehlt.
## System Check ##
Python Version: OK
pycurl: OK
sqlite3: fehlt

pycrypto: OK
py-OpenSSL: OK

py-imaging: OK
tesseract: OK

PyQt4: fehlt

jinja2: OK
beaker: OK
JS engine: OK

Du brauchst pycurl, sqlite und python 2.5, 2.6 oder 2.7 um pyLoad zu starten.
Bitte korrigiere das und starte pyLoad neu.
Das Setup wird sich nun beenden.
D.h. ich bin wieder am Anfang :/
(PyQt4 wird soweit ich weiß nicht zwingend benötigt)

Irgendwoher muss ich doch ein kompiliertes python mit sqlite Unterstützung herbekommen. Gibts auch einen Weg, das selber zu kompilieren? Wenn ja, wie?

//Edit2:
http://www.mail-archive.com/openwrt-dev ... 03075.html
Da habe ich etwas gefunden.
Nur was mache ich mit dem Quellcode?

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 15:48
von Leonidas
Der Patch scheint in OpenWrt aufgenommen worden zu sein, daher solltest du jetzt die OpenWrt-Leute fragen wie man das OpenWrt-Python mit SQLite-Support baut.

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 15:56
von Sr4l
Das Toolchain um sich OpenWRT Packages zu bauen ist sehr groß.

Alle Artikel dazu findest du hier:
unter "Building"

Mit welcher OpenWRT Version arbeitest du? mit einem Release oder einem Snapshot/trunk?

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 16:00
von Firefly
Hm danke auf jeden Fall.
Leider ist das das Problem. Ich würd ja sofort bei OpenWRT direkt nachfragen, leider ist deren Seite fast komplett hinüber. Deren FTP ist zur Hälfte down, deren Mailserver geht nicht (keine Anmeldung im Forum möglich) und deren IRC-Channel scheint es nicht mehr zu geben.
Zum jetzigen Zeitpunkt gibt es also keine Möglichkeit, mit jemanden von OpenWRT Kontakt aufzunehmen.

@Sr4l: Danke für den Link, ich werde es mir auf jeden Fall genauer anschauen. Aber ich glaube nicht, dass ich damit zum Ziel kommen werde, da ich weder in Linux noch in python besonders bewandert bin. Aber ich werds auf jeden Fall versuchen :/

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 16:11
von Leonidas
Alternativ kannst du natürlich auch Python außerhalb des Paketsystems bauen, etwa in deinem Home-Ordner.

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 16:15
von Firefly
Da habe ich leider keine Ahnung, wie das geht.

Ich habe allerdings noch was gefunden:
https://dev.openwrt.org/ticket/12239

Unten steht, dass die Snapshots sqlite drin haben, die Beta Builds aber nicht. Wie oben schon geschrieben, der FTP von OpenWRT ist leider halb down, d.h. die Snapshots gibt es nicht mehr. Deswegen bin ich darauf angewiesen, mich mit der Beta-Version herumzuschlagen :/

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 16:55
von Firefly
Sorry für Doppelpost, aber:
Ich habs irgendwie hinbekommen, zumindest halb :D

Ich habe jedes Paket installiert, das "sqlite" im Namen hat. Jetzt kann ich pyload starten. Komischerweise zeigt er mir beim Setup (# pyload -s) immernoch an, dass sqlite3 fehlt, allerdings hab ichs jetzt manuell konfiguriert und kann es starten.
Es ist ganz normal über das Webinterface erreichbar und ich mache gerade einen Test-Download.
Es laggt zwar ab und an ein bisschen, aber im Großen und Ganzen scheint es zu funktionieren.

Leider muss ich wohl noch weiterhin mit ein paar Fehlern kämpfen (pyload sagt mir beim Update-Check, dass keine Internetverbindung besteht, usw usw).

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 17:09
von Sr4l
Du hast momentan einfach ne schlechte Zeit erwischt wegen dem Release der neuen Version. Ich habe bisher immer nur Snapshots auf meinenm Routern gehabt.

Nachteil: Man muss sich überlegen was man braucht, alles installieren und dann ruhen lassen, den ein update / upgrade auf neue Pakete klappt nicht immer reibungslos und ein Router mit dem man ins Internet will muss funktionieren. Deshalb habe ich auch einen als Backup.

OpenWRT ist gut, der eigene Config Ordner /etc/config ist genial einfach gehalten und auch stabil über die Versionen. Alles andere aber nicht, die bevorzugte Overlay Variante für USB Sticks ändert sich gefühlt alle paar Monate. Die Homepage, Downloadseiten, Wiki sind gelegentlich mal Offline für ein paar Stunden.

Was hast du für ein Router Architektur?

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 17:19
von Firefly
Habe den TP-Link WDR3600, der hat "ar71xx", ich denke das meinst du, oder? ^^

Ich möchte eigentlich mit dem Router 3 Dinge:
- pyload
- ddns
- samba

Und zwar in dieser Reihenfolge ^^ Leider scheitert es ja schon fast am Ersten, wobei ich das jetzt wohl hingekriegt habe.

Ich hätte mir gerne ein Snapshot installiert, allerdings ist der Ordner komplett leer: http://downloads.openwrt.org/snapshots/

//Edit:
Also pyload funktioniert hinten und vorne nicht. Es fängt zwar an, Dateien zu laden, aber dann kommen in der Konsole immer und immer wieder jede Menge Fehler, dann ist das Webinterface manchmal nicht erreichbar, beim Download laggt es des Zorns.
Also irgendwie muss man das doch zum Laufen bringen...

Zu gern hätt ich jetzt das Snapshot und nicht diese Beta >.<

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 18:29
von Sr4l
Also ich habe ein Snapshot von Anfang August für ar71xx sind 671MB das könnte ich dir zukommen lassen, allerdings habe ich zu deinem Router nicht das Image und das könnte dann Probleme mit den Core Packages geben. Also ich denke das beste ist einfach auf den RC zu warten oder beta2 oder was auch immer als nächstes kommt.

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 18:50
von Firefly
Danke, aber ich glaube wirklich, dass es das Beste sein wird, zu warten.
Auf noch mehr Probleme kann ich um ehrlich zu sein verzichten :D

Ich hoffe da kommt auch wirklich was in absehbarer Zeit, wäre nämlich ärgerlich.
Wenigstens erfüllt der Router seinen Zweck: Er funktioniert und stürzt nicht ab (nicht so wie mein alter Router -.-)

Eine Frage hätte ich allerdings noch: Weißt du, wieso es im Backfire Release kein Image zu meinem Router gibt?

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 23:14
von Sr4l
Ganz einfach: er wird erst seit Juli 2012 unterstützt

Die wohl wichtigste OpenWRT Wiki Seite ist Table of Hardware.

Bei deinem Router steht noch nicht viel. Aber wenn man sich einen ähnlichen Router anschaut aus der Serie, den TL-WDR4300 dann sieht man was sich dort alles für "Wissen" ansammelt.

Re: python auf OpenWRT

Verfasst: Samstag 13. Oktober 2012, 23:51
von Firefly
Gut, das klingt einleuchtend ^^
Ich hoffe mal, dass sich in nächster Zeit release-technisch etwas tut.
Danke für deine Hilfe, falls du dennoch weitere Ideen hast, wäre ich sehr dankbar.

MfG

//Edit:
Ich habe mich jetzt auch mal direkt im pyload-Forum gemeldet.
http://forum.pyload.org/viewtopic.php?f=9&t=1742
Falls es wen interessiert ^^