lazy_import icon indicating copy to clipboard operation
lazy_import copied to clipboard

SubSubModule Broken

Open JoshMayberry opened this issue 7 years ago • 0 comments

If I mark a sub module of a sub module as lazy like so:

>>> import lazy_import

>>> lazy_import.lazy_module("wx.lib.masked")
Lazily-loaded module wx.lib.masked

>>> import wx.lib.masked

It works fine. For example:

>>> print(wx)
Lazily-loaded module wx

>>> print(wx.lib.masked)
Lazily-loaded module wx.lib.masked

But, if I load a different sub module of that same sub module like so:

>>> import wx.lib.buttons

Then, the sub sub module marked as lazy loaded is not available. For example:

>>> print(wx.lib.buttons)
<module 'wx.lib.buttons' from '...\\lib\\site-packages\\wx\\lib\\buttons.py'>

>>> print(wx.lib.masked)
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    print(wx.lib.masked)
AttributeError: module 'wx.lib' has no attribute 'masked'

If I do not do the lazy loading, then it works fine. For example,

>>> import wx.lib.masked

>>> print(wx)
<module 'wx' from 'M:\\Versions\\Python_DMTE_dev\\lib\\site-packages\\wx\\__init__.py'>

>>> print(wx.lib.masked)
<module 'wx.lib.masked' from 'M:\\Versions\\Python_DMTE_dev\\lib\\site-packages\\wx\\lib\\masked\\__init__.py'>

>>> import wx.lib.buttons
>>> print(wx.lib.buttons)
<module 'wx.lib.buttons' from 'M:\\Versions\\Python_DMTE_dev\\lib\\site-packages\\wx\\lib\\buttons.py'>

>>> print(wx.lib.masked)
<module 'wx.lib.masked' from 'M:\\Versions\\Python_DMTE_dev\\lib\\site-packages\\wx\\lib\\masked\\__init__.py'>

JoshMayberry avatar Dec 07 '18 19:12 JoshMayberry