Yes, that was previously the case. The change happened in the 2.5.x
timeframe when the core wxWidgets initialization was refactored to
happen at app creation time instead of when module is first loaded.
It's mentioned in the 2.6 Migration Guide:
"""
The import-startup-bootstrap process employed by wxPython was changed
such that wxWidgets and the underlying gui toolkit are not initialized
until the wx.App object is created (but before wx.App.OnInit is called.)
This was required because of some changes that were made to the C++
wxApp class.
There are both benefits and potential problems with this change. The
benefits are that you can import wxPython without requiring access to a
GUI (for checking version numbers, etc.) and that in a multi-threaded
environment the thread that creates the app object will now be the GUI
thread instead of the one that imports wxPython. Some potential problems
are that the C++ side of the "stock-objects" (wx.BLUE_PEN,
wx.TheColourDatabase, etc.) are not initialized until the wx.App object
is created, so you should not use them until after you have created your
wx.App object. If you do then an exception will be raised telling you
that the C++ object has not been initialized yet.
Also, you will probably not be able to do any kind of GUI or bitmap
operation unless you first have created an app object, (even on Windows
where most anything was possible before.)
"""
--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!