Dynamisches Laden von Klassen in Python 2.6: RuntimeWarning: Die Plugins des übergeordneten Moduls wurden bei der Verarbeitung des absoluten Imports nicht gefunden

Ich arbeite an einem Plugin-System, in dem Plugin-Module wie folgt geladen werden:

def load_plugins():
   plugins=glob.glob("plugins/*.py")
   instances=[]
   for p in plugins:
      try:
         name=p.split("/")[-1]
         name=name.split(".py")[0]
         log.debug("Possible plugin: %s", name)
         f, file, desc=imp.find_module(name, ["plugins"])
         plugin=imp.load_module('plugins.'+name, f, file, desc)
         getattr(plugin, "__init__")(log)
         instances=instances+plugin.get_instances()
      except Exception as e:
         log.info("Failed to load plugin: "+str(p))
         log.info("Error: %s " % (e))
         log.info(traceback.format_exc(e))
   return instances

Der Code funktioniert, aber für jede Import-Anweisung im Plugin-Code erhalte ich eine Warnung wie folgt:

plugins/plugin.py:2: RuntimeWarning: Parent module 'plugins' not found while handling absolute import
  import os

Für den Hauptprogrammcode werden keine Fehler gemeldet, und die Plugins funktionieren.

Kann jemand erklären, was die Warnung bedeutet und was ich falsch mache. Muss ich ein leeres Plugins-Modul separat erstellen und importieren, um Python glücklich zu machen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage