Parece que você está executando seu aplicativo com python 2.x, mas os módulos que seu aplicativo usa são do python 3.x. Em particular,
pymongo
está tentando importar o módulo urllib.parse
, que foi chamado de urlparse
em python 2.x. Como resultado, executar import urllib.parse
com python 2.x causa um ImportError. Como você ativou seu ambiente virtual?
Resposta ao comentário:
Isso é bom. O código pymongo dentro do seu env virtual é o que se conecta ao seu servidor mongodb (usando uma porta especificada).
Você seguiu as instruções nos documentos do Flask com relação a
mod_wsgi
, virtualenv
, e definindo o activate_this
variável? Resposta ao comentário nº 2:
Sim, seu site funciona bem ao ser executado com python 2.x, mas quando você começa a usar o db, você está usando módulos que tentam importar bibliotecas dentro do python 3.x. Como resultado, se você continuar usando o python 2.x para executar seu site, não usará um banco de dados.
Tente isto:
1) Vá para o diretório que contém seu ambiente virtual:
$ cd /some/path/to/venv
2) Liste todos os arquivos:
$ ls
3) Mude para o diretório bin:
$ cd bin
4) Liste todos os arquivos:
$ ls
5) Abra o arquivo
activate_this.py
e leia os comentários na parte superior, por exemplo. $ vi activate_this.py
6) Clique no link para os documentos em Flash que postei na minha resposta anterior e leia o material lá novamente.