domingo, 13 de dezembro de 2009

Google appengine ImportError: "No module named os" - Vista

Erro ao iniciar o servidor de desenvolvimento do Google Appengine localmente no Windows Vista, talvez no XP também.

Se você está encontrando este erro, é praticamente certo que ao digitar o comando abaixo, a versão 2.4 do Python foi invocada, ao invés da 2.5.

dev_appserver.py helloworld/

No meu caso, eu havia instalado o plone 2.5 na máquina a um tempo. As minhas variáveis de ambiente, mais especificamente a PATH estava apontando para o diretório do python contido no plone. Quando eu executava o comando. Pronto, dava erro.

O módulo "os" parece não estar disponível na versão 2.4. Apenas na 2.5. Para resolver o problema, você tem que fazer duas coisas:

1) Altere a variável de ambiente PATH para buscar no diretório do python 2.5. No meu caso, o caminho é c:/python25. Em seguida, vá até a pasta onde seu AppEngine está instalado digite o comando da seguinte forma:

python dev_appserver.py helloworld/

Assim, o python invocado foi exatamente o 2.5 e não o outro. Pronto seu servidor vai rodar.
2) Se você quiser rodar o comando como no manual do Google. Exatamente como está lá no início. Sem precisar chamar o python. O que você precisa fazer é associar os arquivos de extensão .py com o python 2.5. Da mesma forma que ao abrir um arquivo .doc o windows invoca o Word. Quando você chama um arquivp .py, o windows vai invocar o python 2.4.
Considero que alterar variável de ambiente e associar extensões de arquivos a programas são coisas básicas. Por isso, nem entrei no mérito.