Modul-Import: NameError: Name ist nicht definiert

Wie definiere ich die Funktion im Importer so, dass sie im importierten sichtbar ist? Ich habe es versucht

importer.py ist

def build():
    print "building"

build()

import imported

Wodurch,imported.py ist einfach

build()

Dies schlägt jedoch fehl

building
Traceback (most recent call last):
  File "C:\Users\valentin\Desktop\projects\maxim\miniGP\b01\evaluator\importer.py", line 6, in <module>
    import imported
  File "C:\Users\valentin\Desktop\projects\maxim\miniGP\b01\evaluator\imported.py", line 1, in <module>
    build()
NameError: name 'build' is not defined

Aktualisieren Nachdem ich die Antwort erhalten habe, den zirkulären Import durchzuführen, so dass der Import und der Import voneinander abhängen, muss ich klarstellen, dass dies nicht immer gut ist. Mein Ziel ist es, eine gemeinsame Strategie im importierten Modul anzugeben. Es werden einige benutzerdefinierte Funktionen verwendet, z.build. Der Benutzer definiert die erforderlichen Funktionen und ruft die Strategie auf. Der Punkt ist, dass die gemeinsame Strategie nicht von bestimmten Benutzerdefinitionen abhängen darf. Ich glaube, dass anstelle vonimportIch brauche sowasevaluate(imported.py)Dies ist meiner Meinung nach eine grundlegende Funktion in jeder Skriptsprache, einschließlich Python. irc: // freenode / python besteht darauf, dass ich verwenden mussimport aber ich verstehe nicht wie.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage