Det ser ud til, at du kører din app med python 2.x, men de moduler, din app bruger, er fra python 3.x. Især pymongo
forsøger at importere modulet urllib.parse
, som blev kaldt urlparse
i python 2.x. Som et resultat udføres import urllib.parse
med python 2.x forårsager en importfejl.
Hvordan aktiverede du dit virtuelle miljø?
Svar på kommentar:
Det er fint. Pymongo-koden inde i din virtuelle env er det, der forbinder til din mongodb-server (ved hjælp af en specificeret port).
Har du fulgt instruktionerne i Flask docs med hensyn til mod_wsgi
, virtualenv
, og indstille activate_this
variabel?
Svar på kommentar #2:
Ja, dit websted fungerer fint, mens det køres med python 2.x, men når du begynder at bruge db'en, bruger du moduler, der forsøger at importere biblioteker inde i python 3.x. Som et resultat, hvis du fortsætter med at bruge python 2.x til at udføre dit websted, så kommer du ikke til at bruge en db.
Prøv dette:
1) Gå til den mappe, der indeholder dit virtuelle miljø:
$ cd /some/path/to/venv
2) Liste over alle filerne:
$ ls
3) Skift til bin-mappen:
$ cd bin
4) Liste over alle filerne:
$ ls
5) Åbn filen activate_this.py
og læs kommentarerne øverst, f.eks.
$ vi activate_this.py
6) Klik på linket til de Flash-dokumenter, jeg postede i mit tidligere svar, og læs materialet der igen.