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?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage