Python gleichzeitig einbetten und erweitern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Martin Kalbfuß
User
Beiträge: 21
Registriert: Freitag 23. Mai 2008, 09:17

Hi,

Ist es möglich ein in C geschriebenes Python-Erweiterungsmodul statisch in ein Programm einzulinken und es dann von einem eingebetteten Pythoninterpreter aus zu nutzen?
Martin Kalbfuß
User
Beiträge: 21
Registriert: Freitag 23. Mai 2008, 09:17

OK. Es geht. So weit so gut. :)

Was mich jetzt aber wundert ist folgendes. Ich bin der Anleitung zum einbetten von Python gefolgt und habe folgenden Code geschrieben:

Code: Alles auswählen

  PyObject *pName = PyUnicode_FromString("hallo");
  PyObject *pModule = PyImport_Import(pName);
  Py_DECREF(pName);
  if (pModule == NULL)
    {
      PyErr_Print();
      exit(EXIT_FAILURE);
    }
Wenn ich mein Programm ausführe teilt es mir mit, dass das Modul hallo nicht zu finden sei. Ich habe jedoch eine datei hallo.py im selben Verzeichnis in dem sich auch das Programm befindet. Dieses ist auch das Ausführungsverzeichnis. Ich sehe keinen Unterschied zum Beispiel in der Doku.

Woran liegt's?

Ich benutze übrigens 3.1.
Martin Kalbfuß
User
Beiträge: 21
Registriert: Freitag 23. Mai 2008, 09:17

PySys_SetPath(L".");

ist die Lösung. Das aktuelle Vezeichnis ist wohl nicht im Suchpfad inbegriffen.
Antworten