On 22/02/19 5:40 AM, ast wrote:
> Is it normal to have 151 entries in dictionary sys.modules
> just after starting IDLE or something goes wrong ?
> >>> import sys
> >>> len(sys.modules)
I don't use Idle. Written in python, doesn't it require various packages
to run before it even talks to you, eg tkinter? Thus am not sure if they
are also being counted. However:-
After firing-up Python 3.7 from the cmdLN, my system reported only 60.
Remember also, that the sys Run-time service is described as
"System-specific parameters and functions", which will account for
(some) differences by itself.
> Most of common modules seems to be already there,
> os, itertools, random ....
> I thought that sys.modules was containing loaded modules
> with import command only.
Not quite true! Whereas the manual says
sys.modules This is a dictionary that maps module names to modules which
have already been loaded.
also remember that import is not the only way modules are "loaded"!
Built-in types (etc) are/must be loaded as part of python, otherwise
nothing would work, eg float, int, list, contextlib, collections,
functools, ... This is the modular/boot-strap method that is a feature