Há um problema duplo no trabalho aqui. Uma causa pode ser um arquivo .DS_Store contendo caracteres UTF-8 dentro dele no diretório local que está sendo lido nos bastidores. Se este for o caso, basta adicionar a codificação à parte superior do arquivo para corrigi-lo:
# coding: utf-8
Uma segunda causa pode ser como obtemos código de um lugar para outro. Se você estiver usando um Mac e copiar o código, cole-o em um arquivo com o seguinte tamanho:
$ cat > file.py (<-- Hit Command-V to paste while doing this)
Isso pode levar a um problema interessante. A formatação, mais especificamente o espaço principal, parece Pythonic. No entanto, suas guias foram substituídas por algo contendo caracteres largos que nenhuma configuração de codificação de caracteres pode parecer resolver. Se você enfrentar isso, basta substituir todos os espaços em branco iniciais e o Python ficará muito feliz.