Maya, Unicode, Python e erros

Você está usando o Maya 20XX, vai salvar ou exportar a cena e, de repente…
# Error: file: C:/Program Files/Autodesk/Maya2014/scripts/others/fromNativePath.mel line 90: UnicodeEncodeError: file C:\Program Files\Autodesk\Maya2014\bin\python27.zip\os.py line 420: ascii #

Ou ainda:
# Error: file: C:/Program Files/Autodesk/Maya2014/scripts/others/fromNativePath.mel line 90: (unicode error) ‘ascii’ codec can’t encode characters in position 42-43: ordinal not in range(128) #

Como resolver esse problema? Possíveis soluções que encontrei:

  • Verifique se o local do seu projeto Maya (menu File | Project Window, Location) contém caracteres especiais (ex. ã, ç, ó). Caso contenha, altere-o para um diretório que não contenha caracteres especiais.
    Exemplo de local de projeto com caracteres especiais: c:\Trabalhos\Animação
  • Escreva o seguinte script Python dentro do Maya (menu Window | General Editors | Script Editor, aba Python):
    import sys
    reload(sys)
    sys.setdefaultencoding("utf8")
    

    E clique no botão Execute (CTRL+E ou menu Command | Execute) para definir que o Python use UTF-8 ao invés de ASCII.

O erro ocorre porque o script MEL (fromNativePath.mel) é usado internamente (somente no Windows) para que o caminho de um diretório use / (forward slash) ao invés de \ (backslash) e chama uma função do Python usando string em Unicode. Como o Python estava configurado para ASCII, o script dá erro.

Percebi que o erro também ocorre se você tenta salvar (ou exportar) a cena em um diretório que não tem caracteres especiais enquanto trabalha em um projeto Maya que contém caracteres especiais.

Be Sociable, Share!

2 thoughts on “Maya, Unicode, Python e erros

  1. Kay

    Muito obrigada, André, este post me ajudou muito a salvar meu trabalho! Eu não havia me atentado a estes detalhes de caracteres, a pasta do projeto estava normal, sem acentuações, mas a pasta que guardava os projetos tinha cedilha e eu não havia percebido.
    Obrigada :D

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>