[Python-Dev] RELEASED Python 2.3.3 (release candidate 1) - custom
Py_Initialize()
Wiktor Sadowski
art at wiktorsadowski.com
Sun Dec 14 18:49:42 EST 2003
Adding a few lines (below) to Python would enable custom Py_Initialize()
and would allow to setup on time different than existing
(import.c-zipimport.c) import mechanisms
and changing some other Python-initialization internals without messing with
Python core.
It should make life easier for embedders and help writing specialized Python
executables (like Zope or Quixote).
(We have such specialized executable to run packed Python programs
remotely,kind of Java Web Start).
>From what I know Python installers (py2exe,Gordon McMillan's installer)
could benefit from such addition as well.
All these functions simply expose some modules globals. They don't change
anything in Python core.
Best regards,
Wiktor Sadowski
/*pythonrun.c*/
void Internal_Py_SetInitialized(int){initialized=i;}
void Internal_PyUnicode_Init(void){_PyUnicode_Init();}
void Internal_PyUnicode_Fini(void){_PyUnicode_Fini();}
void Internal_PyGILState_Init(PyInterpreterState *s, PyThreadState
*ts){_PyGILState_Init(s,ts);}
void Internal_PyGILState_Fini(void){_PyGILState_Fini();}
long Internal_PyGC_Collect(void){return PyGC_Collect();}
/*pythonrun.h*/
PyAPI_FUNC(void) Internal_Py_SetInitialized(int i);
PyAPI_FUNC(void) Internal_PyUnicode_Init(void);
PyAPI_FUNC(void) Internal_PyUnicode_Fini(void);
PyAPI_FUNC(void) Internal_PyGILState_Init(PyInterpreterState *,
PyThreadState *);
PyAPI_FUNC(void) Internal_PyGILState_Fini(void);
PyAPI_FUNC(long) Internal_PyGC_Collect(void);
More information about the Python-Dev
mailing list