Ich versuche, das Einbettungsbeispiel auszuführen, und ich kann nicht laden ein Modul aus dem aktuellen Arbeitsverzeichnis, wenn ich es nicht explizit zu sys.path
hinzufüge, dann funktioniert es:
Sollte Python nicht nach Modulen im aktuellen Verzeichnis suchen?
Edit1 : Versucht, das Modul nur mit:
zu importieren %Vor%Und es schlägt immer noch mit dem folgenden Fehler fehl:
%Vor% Edit2 : Aus den sys.path
Dokumenten :
Wenn das Skriptverzeichnis nicht verfügbar ist (z. B. wenn der Interpreter ist wird interaktiv aufgerufen oder wenn das Skript von der Standardeingabe gelesen wird Pfad [0] ist die leere Zeichenfolge, die Python an Suchmodule weiterleitet im aktuellen Verzeichnis zuerst .
Nicht sicher, was es bedeutet, nicht verfügbar , aber wenn ich sys.path[0]
drucke, ist es nicht leer:
Sie müssen PySys_SetArgv(int argc, char **argv, int updatepath)
aufrufen, damit die relativen Importe funktionieren. Dadurch wird der Pfad des ausgeführten Skripts zu sys.path
hinzugefügt, wenn updatepath
auf 0
steht (siehe Dokumente für weitere Informationen).
Folgendes sollte den Trick machen
%Vor% Ich hatte genau das gleiche Problem und habe es gelöst, indem ich Py_Initialize();
und Py_Finalize();
Hoffe das kann dir helfen
Tags und Links python linux python-2.7 python-embedding