Sembra che tu stia eseguendo la tua app con python 2.x, ma i moduli utilizzati dalla tua app provengono da python 3.x. In particolare, pymongo
sta tentando di importare il modulo urllib.parse
, chiamato urlparse
in Python 2.x. Di conseguenza, eseguendo import urllib.parse
con python 2.x provoca un ImportError.
Come hai attivato il tuo ambiente virtuale?
Risposta al commento:
Va bene. Il codice pymongo all'interno del tuo virtual env è ciò che si connette al tuo server mongodb (usando una porta specifica).
Hai seguito le istruzioni nei documenti Flask per quanto riguarda mod_wsgi
, virtualenv
e impostando il activate_this
variabile?
Risposta al commento n. 2:
Sì, il tuo sito funziona bene mentre viene eseguito con python 2.x, ma quando inizi a utilizzare il db, stai utilizzando moduli che tentano di importare librerie all'interno di python 3.x. Di conseguenza, se continui a utilizzare python 2.x per eseguire il tuo sito, non utilizzerai un db.
Prova questo:
1) Vai alla directory contenente il tuo ambiente virtuale:
$ cd /some/path/to/venv
2) Elenca tutti i file:
$ ls
3) Passare alla directory bin:
$ cd bin
4) Elenca tutti i file:
$ ls
5) Apri il file activate_this.py
e leggi i commenti in alto, ad es.
$ vi activate_this.py
6) Fare clic sul collegamento ai documenti Flash che ho pubblicato nella mia risposta precedente e leggere nuovamente il materiale.