NameError: name '__principaux__ " n'est pas défini
J'ai lu ici, mais je ne pourrais pas trouver toute solution en ligne pour résoudre mon problème..je pense que j'ai le renfoncement de droite, mais j'ai toujours l'Erreur de Nom..quelqu'un Peut m'aider s'il vous plaît.
Ce script doit s'exécuter un nouveau panneau dans maya, qui fonctionne en quelque sorte, mais l'erreur est vraiment ennuyeux.
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 #
- Votre code n'a pas de
__main__
en elle. Nous montrer le code que donne cette erreur - il ressemble à l'aide de votre certains non-standard de python console (maya-console) ... c'est probablement le problème ... je voudrais vérifier sur leurs forums
- ... et merci de poster un minimum code qui présente ce problème. 99% de votre code n'est pas pertinent ici.
- maya a construit dans l'éditeur de script et de l'interpréteur python.
__main__
devait encore être dans le code quelque part. - (il peut être dans certains wrapper ils utilisent ou quelque chose) ...
- que quelqu'un qui utilise maya chaque journée de travail, je vous assure que ça ne l'est pas.
- heh allons-y 😛 (je hadnt utilisé ça :P) je sais que le programme de travail sur l'a intégré dans la coque et nous avons certainement faire de la magie en elle 😛
- C'est l'ensemble du code. Je peux vous assurer que.
- Ce n'est pas l'ensemble du code, il vous manque certaines.
- Pour commencer, vous êtes certainement manquant
import maya.cmds as pm
- maya se souvient que si vous l'avez fait dans l'éditeur de script avant et de la fonction de copier/coller ce script dans
- Je suis en utilisant des mayas interprète, où j'ai un utilisateur de l'installation, où l'importation de maya.les maladies cardio-métaboliques, comme les maladies cardio-métaboliques, l'importation pymel.de base comme pm et l'importation de maya.mel mel sont importés
- Certaines personnes peuvent ne pas savoir qu' @mhlester
- c'est vrai, mon point est-ce peut-être le code complet de l'OP est le copier-coller, malgré l'absence d'importation
Vous devez vous connecter pour publier un commentaire.
Votre problème a été peu de chose, je n'ai inclus quelques sections de base du code, le reste n'était pas nécessaire.
Problème était
__name__
, si cette cité, nous n'aurions pas un problème, vu que c'est juste un nom et n'a rien de spécial, je vais renommer cename
.Problème sur les deux noms en double sur panneaux/panelTypes. C'est à dire:
Maya n'aimait pas que les deux panelType et le groupe spécial avait le même nom.
Donc:
str
surnamespace
, il est extrêmement peu probable que cela n'a rien à voir avec l'erreur.Lors de l'exécution de scripts Python, l'interpréteur Python définit une variable appelée
__name__
à la chaîne de valeur"__main__"
pour le module exécuté (normalement, cette variable contient le nom du module).Il est commun pour vérifier la valeur de cette variable pour voir si votre module est importé pour utilisation comme une bibliothèque, ou si elle est exécutée directement. Donc, vous voyez souvent ce bloc de code à la fin de modules:
Je soupçonne que vous avez quitté la chaîne de citations hors de
'__main__'
qui donne la NameError vous voyez