aber ich werd's trotzdem mal versuchen.
Ich portiere zZt den Pythoninterpreter auf ein embedded System.
Der Status ist der, dass ich mir ein "minimales" Python zusammengebaut habe (Python-Sourcen 2.5),
in welchem nur die essentiell benötigten sourcen mitcompiliert wurden.
Auch der Dateizugriff über einen selbstgeschrieben Wrapper auf das Flash-File-System ist erfolgreich.
(open,close,read,write, import ...)
Das soweit als Hintergrund, nun aber zu meinem Problem:
Ich würde an dieser Stelle gerne das module os.py importieren können.
jetziger Stand :
Code: Alles auswählen
'import site' failed; use -v for traceback # schlägt im Detail wegen import os.py fehl
Welcome to my embedded Python!!
>>> import os
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "os.py", line 131, in <module>
raise ImportError, 'no os specific module found'
ImportError: no os specific module found
>>>
Auszug aus os.py:
Code: Alles auswählen
_names = sys.builtin_module_names
...
if 'posix' in _names:
name = 'posix'
linesep = '\n'
from posix import *
Code: Alles auswählen
>>> import sys
>>> sys.builtin_module_names
()
>>>
aber ich würde an der Stelle halt gerne das Modul Posix in meinem interpreter mit einbinden.
(Oder hat jemand einen besseren Vorschlag? )
Weiß jemand vielleicht wie das geht?
Ich habe schon die ganze Doku auf den Kopf gestellt,
finde aber nur das einbinden eines in C geschriebenen Moduls mit
Code: Alles auswählen
Example:
Py_InitModule("emb",EmbMethods);
Muss ich zum einbinden in der pyconfig.h ein bestimmtes define setzen?
Handelt es sich bei Modules/posixmodule.c um das gesuchte Sourcefile welches ich compilieren und als builtin-module einbinden muss ?
Wenn ja, wie?
Just for Info: Die main() für meinen Interpreter ist ebenfalls minimal...
Code: Alles auswählen
...
Py_Initialize();
printf("Welcome to my embedded Python!!\n");
PyRun_InteractiveLoop(stdin,"<stdin>");
/* Exit, cleaning up the interpreter */
Py_Exit(0);
...
Vielen Dank im voraus