Het lijkt erop dat u uw app uitvoert met python 2.x, maar de modules die uw app gebruikt, zijn van python 3.x. In het bijzonder pymongo
probeert de module urllib.parse
te importeren , die urlparse
. heette in python 2.x. Als resultaat, het uitvoeren van import urllib.parse
met python 2.x veroorzaakt een ImportError.
Hoe heb je je virtuele omgeving geactiveerd?
Reactie op opmerking:
Dat is prima. De pymongo-code in uw virtuele omgeving is wat verbinding maakt met uw mongodb-server (via een opgegeven poort).
Heb je de instructies gevolgd in de Flask docs met betrekking tot mod_wsgi
, virtualenv
, en het instellen van de activate_this
variabel?
Reactie op opmerking #2:
Ja, uw site werkt prima terwijl deze wordt uitgevoerd met python 2.x, maar wanneer u de db begint te gebruiken, gebruikt u modules die bibliotheken in python 3.x proberen te importeren. Als u python 2.x blijft gebruiken om uw site uit te voeren, gebruikt u dus geen db.
Probeer dit:
1) Ga naar de map met uw virtuele omgeving:
$ cd /some/path/to/venv
2) Lijst van alle bestanden:
$ ls
3) Ga naar de bin-map:
$ cd bin
4) Maak een lijst van alle bestanden:
$ ls
5) Open het bestand activate_this.py
en lees de opmerkingen bovenaan, bijvoorbeeld
$ vi activate_this.py
6) Klik op de link naar de Flash-documenten die ik in mijn vorige reactie heb gepost en lees het materiaal daar opnieuw.