Embedded Python,Builtin-Module "posix" integrieren
Verfasst: Dienstag 6. März 2007, 12:01
Hallo zusammen, ich weiß nicht ob ich hier an der richtigen Adresse mit meinem Problem bin
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 :
Ich habe festgestellt das in os.py zu beginn nach vorhandenen Builtin-Modules gesucht wird.
Auszug aus os.py:
meine builtins sind zZt sehr mager :
Ich gehe zwar davon aus das ich aufgrund meines Filesystems einige Details ändern bzw. wrappen muss,
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
Das ist aber nicht das richtige, oder?!
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...
Wenn ihr noch weitere code-snippets braucht reiche ich die gerne nach.
Vielen Dank im voraus
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