2014-11-24 13 views
5

Ich bin Python in einer C-Anwendung einbetten. Ich habe den Standard-Python-Dist heruntergeladen und relativ zum Programm platziert und diesen verwendet, um die & Build-C-Anwendung zu verknüpfen.Einbetten von Python: Kein Modul namens Website

Dies funktioniert gut auf meiner Entwicklungsmaschine und die Anwendung läuft gegen diese Version von Python.

Wenn ich die Anwendung und die Python-Distribution bündeln und bereitstellen es, Im den folgenden Fehler erhalten:

ImportError: No module named site 

Dies, indem PYTHONHOME auf den Weg zu dieser ‚lokalen‘ Python-Distribution behoben werden kann, aber Ich möchte nicht mit einer Python-Installation rumspielen, die der Benutzer vielleicht schon hat, also würde ich diese Variable lieber nicht setzen.

Haben Sie Ideen, wie Sie den Python-Interpreter & lib korrekt bündeln, ohne irgendwelche möglichen Python-Versionen zu stören, die sich möglicherweise bereits auf einem Zielrechner befinden?

+0

möglich duplicate von [python ImportError Kein Modul namens] (http://stackoverflow.com/questions/338768/python-importerror-no-module-named) –

+1

Nein, 1: Dies ist spezifisch für die Einbettung und für die Website .py welches ist die Standard-Bibliothek (dh sehr unterschiedlich, um einige 3rd-Party-Modul nicht zu finden), ist die Frage, die Sie verknüpft, nicht. 2: Ich habe ausdrücklich gesagt, dass ich mich nicht mit PYTHONHOME anlegen wollte. – jramm

+3

Im Ernst, ich frage mich manchmal, ob einige Leute nicht einmal die Frage lesen und das Duplikat, das sie markieren ... Genau wie kurz durch den Kopf gehend, "gibt es ein identisches Wort in der Überschrift -> das muss ein Duplikat sein". Diese sind nicht einmal annähernd ähnlich ... -.- (und eine Flagge lässt die folgenden Leute oft zustimmen, ohne sich die Frage und das markierte Duplikat erneut genau anzusehen -> also sollte sich besonders der erste Flagger darum kümmern was macht er...) – mozzbozz

Antwort

3

Fügen Sie einfach

Py_SetPythonHome(pathToPython); 

vor Py_Initialize Anruf. pathToPython sollte der Pfad zur Python-Distribution sein, für Windows ist es der Ordner, der Lib und DLLs Ordner enthält.