Palavras-chave: erro, debug, módulos
Se acontecer de, durante o desenvolvimento, você dar um import em um módulo Python e por alguma razão inexplicável o módulo que você importou não funciona ou funciona como se fosse uma versão antiga verifique o atributo __file__ deste módulo e veja se você realmente está importando o módulo correto.
No exemplo abaixo o módulo meu_modulo que deveria ser carregado está instalado em /usr/lib/pythonX.X/site-packages mas por alguma razão a versão que está sendo carregada não é esta. O que pode estar acontecendo?
>>> import meu_modulo >>> print meu_modulo.__file__ /home/eumesmo/meu_modulo.pyc
Acho que encontramos o problema! Existe um arquivo meu_modulo.py dentro do diretório onde eu estou que tem mais prioridade no sys.path do que o /.../site-packages.
Nem sempre o problema encontrado é tão simples de se resolver como neste exemplo, mas essa dica é igualmente útil nestes casos. Os relative imports que surgiram no Python 2.5 servem para resolver justamente esse tipo de problemas.
No meu início com python eu caí nesse erro diversas vezes! Dica utilíssima!