NameError: name '__main__' ist nicht definiert
Habe ich gelesen hier, aber ich konnte nicht finden keine Lösung online, um mein problem zu lösen..ich glaube, ich habe die Einrückungen richtig, aber ich bekomme immer noch den Namen Fehler..Kann mir jemand helfen bitte.
Dieses script laufen soll ein neues panel in maya, und das funktioniert auch irgendwie, aber der Fehler ist echt ärgerlich.
class PanelWindow( object ):
def __init__( self, name, title, namespace=__name__ ):
self.__name__ = name
self._title = title
self.instance = str(namespace) + '.' + self.__name__
if not pm.scriptedPanelType(self.__name__, q = True, ex = True):
pm.scriptedPanelType(self.__name__, u = True)
jobCmd = 'python(\\\"%s._setup()\\\")' % self.instance
job = "scriptJob -replacePrevious -parent \"%s\" -event \"SceneOpened\" \"%s\";" % ( self.__name__, jobCmd )
mel.eval(job)
pm.scriptedPanelType( self.__name__, e = True,
unique=True,
createCallback = 'python("%s._createCallback()")' % self.instance,
initCallback = 'python("%s._initCallback()" )' % self.instance,
addCallback = 'python("%s._addCallback()" )' % self.instance,
removeCallback = 'python("%s._removeCallback()")' % self.instance,
deleteCallback = 'python("%s._deleteCallback()")' % self.instance,
saveStateCallback = 'python("%s._deleteCallback()")' % self.instance
)
def _setup(self):
"""Command to be call for new scene"""
panelName = pm.sceneUIReplacement( getNextScriptedPanel=(self.__name__, self._title) )
if panelName == '':
try:
panelName = pm.scriptedPanel( mbv=1, unParent=True, type=self.__name__, label=self._title )
except:
pass
else:
try:
label = panel( self.__name__, query=True, label=True )
pm.scriptedPanel( self.__name__, edit=True, label=self._title )
except:
pass
def _addCallback(self):
"""Create UI and parent any editors."""
print 'ADD CALLBACK'
def show( self ):
mel.eval('tearOffPanel "%s" %s true;' % (self._title, self.__name__) )
global test
test = PanelWindow('myName', 'Light')
test.show()
# NameError: name '__main__' is not defined #
# Error: line 1: name '__main__' is not defined
# Traceback (most recent call last):
# File "<maya console>", line 1, in <module>
# NameError: name '__main__' is not defined #
Ihr code hat keine
es sieht aus wie Ihr mittels einiger nicht-standard-python-Konsole (maya-Konsole) ... das ist wahrscheinlich das problem ... ich würde prüfen, ob auf Ihren Foren
... und poste bitte ein minimal code, die Exponate dieses problem. 99% des Codes ist hier irrelevant.
maya hat eine eingebaute Skript-editor und interpreter für python.
als jemand, der verwendet, maya jeden Tag arbeiten, ich versichere Ihnen, es ist nicht.
__main__
. Zeigen Sie uns den tatsächlichen code, gibt diesen Fehleres sieht aus wie Ihr mittels einiger nicht-standard-python-Konsole (maya-Konsole) ... das ist wahrscheinlich das problem ... ich würde prüfen, ob auf Ihren Foren
... und poste bitte ein minimal code, die Exponate dieses problem. 99% des Codes ist hier irrelevant.
maya hat eine eingebaute Skript-editor und interpreter für python.
__main__
noch im code irgendwo.als jemand, der verwendet, maya jeden Tag arbeiten, ich versichere Ihnen, es ist nicht.
InformationsquelleAutor arvidurs | 2014-02-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein problem wurde ein paar Dinge, ich habe nur ein paar grundlegende Abschnitte des Codes, wie der rest war nicht notwendig.
Problem war
__name__
, wenn diese zitiert, hätten wir ein problem, denn es ist nur ein name und nichts besonderes, ich werde einfach zu benennen Sie diese umname
.Problem zwei war doppelte Namen auf Tafeln/panelTypes. IE:
Maya wusste nicht, wie, dass sowohl die panelType und das panel hatte den gleichen Namen.
Also:
str
aufnamespace
wird, ist es sehr unwahrscheinlich, dass dies etwas mit dem Fehler zu tun.Es entfernt die main Fehler, jetzt bekomme ich: # Fehler: "PanelWindow' - Objekt hat kein Attribut 'name' # Traceback (most recent call last): # die Datei "<maya-Konsole - >", line 50, in <module> # die Datei "<maya-Konsole - >", line 9, in init # AttributeError: 'PanelWindow' - Objekt hat kein Attribut 'name', #
...oder vielleicht bin ich etwas fehlt. Ich bin geneigt zu denken, der Unterschied ist wegen etwas, was nichts mit dieser änderung, wie zum Beispiel das drehen der Dolmetscher aus und wieder ein, aber downvote vorläufig entfernt.
Welche version von Maya sind Sie mit @arvidurs?
Hm komisch, ich Schloss es nun mehrmals..immer Noch den Fehler. Ich ll versuchen Sie es erneut. Trotzdem danke für deine Mühe!
InformationsquelleAutor Shannon Hochkins
Beim ausführen von Python-Skripts die Python-interpreter setzt eine variable namens
__name__
zu den string-Wert"__main__"
für das Modul ausgeführt wird (normalerweise ist diese variable enthält den Namen des Moduls).Ist es üblich, überprüfen Sie den Wert dieser Variablen, um zu sehen, wenn das Modul importiert wird, für die Verwendung als Bibliothek oder, wenn es ausgeführt wird, direkt. So oft sieht man diese code-block am Ende der Module:
Ich vermute, Sie haben Links die Zeichenfolge Zitate aus der
'__main__'
welche gibt die Fehler, die Sie sehen,InformationsquelleAutor Peter Gibson