Il semble que vous exécutiez votre application avec python 2.x, mais les modules utilisés par votre application proviennent de python 3.x. En particulier, pymongo
essaie d'importer le module urllib.parse
, qui s'appelait urlparse
en python 2.x. En conséquence, l'exécution de import urllib.parse
avec python 2.x provoque une ImportError.
Comment avez-vous activé votre environnement virtuel ?
Réponse au commentaire :
C'est très bien. Le code pymongo à l'intérieur de votre environnement virtuel est ce qui se connecte à votre serveur mongodb (en utilisant un port spécifié).
Avez-vous suivi les instructions de la Documents Flask en ce qui concerne mod_wsgi
, virtualenv
, et en définissant le activate_this
variable ?
Réponse au commentaire n° 2 :
Oui, votre site fonctionne bien lorsqu'il est exécuté avec python 2.x, mais lorsque vous commencez à utiliser la base de données, vous utilisez des modules qui tentent d'importer des bibliothèques dans python 3.x. Par conséquent, si vous continuez à utiliser python 2.x pour exécuter votre site, vous n'utiliserez pas de base de données.
Essayez ceci :
1) Allez dans le répertoire contenant votre environnement virtuel :
$ cd /some/path/to/venv
2) Lister tous les fichiers :
$ ls
3) Allez dans le répertoire bin :
$ cd bin
4) Listez tous les fichiers :
$ ls
5) Ouvrez le fichier activate_this.py
et lisez les commentaires en haut, par exemple
$ vi activate_this.py
6) Cliquez sur le lien vers les documents Flash que j'ai publiés dans ma réponse précédente et lisez-les à nouveau.