Dites que j'ai un paquet "mylibrary". Je veux que "mylibrary.config" soit disponible pour l'importation, soit en tant que module créé dynamiquement, soit en tant que module importé d'un endroit complètement différent qui serait alors "monté" dans l'espace de noms "mylibrary".Rendre un paquet virtuel disponible via sys.modules
Ie, je fais:
import sys, types
sys.modules['mylibrary.config'] = types.ModuleType('config')
Étant donné que la configuration:
>>> import mylibrary.config # -> works
>>> from mylibrary import config
<type 'exceptions.ImportError'>: cannot import name config
Plus étrange encore:
>>> import mylibrary.config as X
<type 'exceptions.ImportError'>: cannot import name config
Il semble donc que l'utilisation des œuvres à l'importation directe, les autres formes ne pas. Est-il possible de faire fonctionner ces travaux aussi?