Inmare hat geschrieben:'import site failed'
Hallo Inmare!
"site.py" ist fixer Bestandteil von Python. Dieses Modul wird bei jedem Aufruf von Python automatisch importiert. Es ist für die Säuberung und Erweiterung des Pythonpfades und noch so einigen Dingen zuständig.
Ich mutmaße: Wenn "site.py" nicht importiert werden kann, dann hat das, speziell für Foxboard kompilierte, Python ein Problem. Vielleicht muss man vor dem Kompilieren von Python doch noch irgend einen Pfad richtig setzen. "cgi.py" liegt im gleichen Ordner wie "site.py".
Info:
http://docs.python.org/lib/module-site.html
Wie stehts mit den Schreibrechten für diese Python-Ordner aus? Sind alle *.pyc- und *.pyo-Dateien für die Module erstellt? Wenn nicht -- und wenn das Schreibrecht für diese Ordner fehlt, dann könnte es eventuell Probleme geben.
Vielleicht hilft ein allgemeines Kompilieren aller Module des Python-Ordners. -->
http://docs.python.org/lib/module-compileall.html
Da fällt mir noch ein: "site.py" bereinigt den Python-Pfad. Es schmeißt also alle überflüssigen Ordner, Zip-File-Pfade usw. aus dem Pfad raus. Ich kann mir schon vorstellen, dass es viel Zeit braucht, die falschen Ordner zu durchsuchen und -- jetzt kommt's -- nicht vorhandene Zip-Files zu öffnen. Auch wenn es in Python üblich ist, auf Fehler zu reagieren. Eine Exeption abzufangen braucht viel mehr Zeit als einmal vorher zu prüfen ob eine Datei existiert oder nicht.
Versuche doch mal in deinem Programm zuallererst das Modul "site" zu importieren. Vielleicht werden die darauf folgenden Module dadurch schneller importiert. Rein theoretisch sollte nach dem Importieren von "site" der Python-Pfad bereinigt sein. Falls sich "site" nicht importieren lässt, dann kopiere dieses Modul in deinen Anwendungsordner. Und wenn es dann immer noch nicht funktioniert, dann füge den Pfad zum Ordner an den Anfang des Pythonpfades hinzu. (Vielleicht ist es besser, den Eintrag "" an erster Stelle zu lassen. Füge den Pfad besser mit ``sys.path.insert(1, "pfad")`` hinzu.)
Mich würde echt interessieren, ob das etwas bringt.
Mehr fällt mir im Moment nicht ein.
mfg
Gerold
