Guido van Rossum wrote:
> Alternatively (and probably easier) it (and site.py) could be stored
> as frozen modules. All it takes is some edits to Python/frozen.c.
An excellent design, very simple. A large list of critical
Python-language modules including a new importer, imputils.py and
a new main could be reliably linked to their interpreter. It
would open the door writing a larger part of Python in Python.
But editing Python/frozen.c will kill the current freeze feature
since a user currently replaces this pointer with their own.
We can have a second _PyImport_InternalFrozenModules[] array which is
searched FIRST, so that the existing frozen modules feature
is retained. Current logic only allows one frozen module array.
This is easy.
A little harder is turning it off, which may be important to
developers. They will probably want to use site.py etc. in
PYTHONPATH directories. I would hate to use another command line
option.
Maybe another method in the imp module, say imp.EnablePyInternalLib(x)
to turn on/off the internal frozen modules. A method to print
the names in the list wouldn't hurt either.
At one time I had code for multiple frozen modules which I may
be able to find.
Jim Ahlstrom
> Alternatively (and probably easier) it (and site.py) could be stored
> as frozen modules. All it takes is some edits to Python/frozen.c.
An excellent design, very simple. A large list of critical
Python-language modules including a new importer, imputils.py and
a new main could be reliably linked to their interpreter. It
would open the door writing a larger part of Python in Python.
But editing Python/frozen.c will kill the current freeze feature
since a user currently replaces this pointer with their own.
We can have a second _PyImport_InternalFrozenModules[] array which is
searched FIRST, so that the existing frozen modules feature
is retained. Current logic only allows one frozen module array.
This is easy.
A little harder is turning it off, which may be important to
developers. They will probably want to use site.py etc. in
PYTHONPATH directories. I would hate to use another command line
option.
Maybe another method in the imp module, say imp.EnablePyInternalLib(x)
to turn on/off the internal frozen modules. A method to print
the names in the list wouldn't hurt either.
At one time I had code for multiple frozen modules which I may
be able to find.
Jim Ahlstrom