Verfügbarkeit eines virtuellen Pakets über sys.modules
Sag ich habe ein Paket "mylibrary".
Ich möchte "mylibrary.config" für den Import zur Verfügung stellen, entweder als dynamisch erstelltes Modul oder als Modul, das von einer völlig anderen Stelle importiert wurde, die dann im Namespace "mylibrary" "eingehängt" würde.
Das heißt, ich tue:
import sys, types
sys.modules['mylibrary.config'] = types.ModuleType('config')
Gegeben, dass Setup:
>>> import mylibrary.config # -> works
>>> from mylibrary import config
<type 'exceptions.ImportError'>: cannot import name config
Even Fremder:
>>> import mylibrary.config as X
<type 'exceptions.ImportError'>: cannot import name config
So scheint es, dass der direkte Import funktioniert, die anderen Formen nicht. Ist es möglich, dass diese auch funktionieren?