Sepertinya Anda menjalankan aplikasi dengan python 2.x, tetapi modul yang digunakan aplikasi Anda berasal dari python 3.x. Secara khusus, pymongo
sedang mencoba mengimpor modul urllib.parse
, yang disebut urlparse
di python 2.x. Akibatnya, jalankan import urllib.parse
dengan python 2.x menyebabkan ImportError.
Bagaimana Anda mengaktifkan lingkungan virtual Anda?
Tanggapan terhadap komentar:
Tidak apa-apa. Kode pymongo di dalam virtual env Anda adalah yang terhubung ke server mongodb Anda (menggunakan port tertentu).
Sudahkah Anda mengikuti petunjuk di Flask docs sehubungan dengan mod_wsgi
, virtualenv
, dan menyetel activate_this
variabel?
Tanggapan terhadap komentar #2:
Ya, situs Anda berfungsi dengan baik saat dieksekusi dengan python 2.x, tetapi ketika Anda mulai menggunakan db, Anda menggunakan modul yang mencoba mengimpor pustaka di dalam python 3.x. Akibatnya, jika Anda terus menggunakan python 2.x untuk mengeksekusi situs Anda, maka Anda tidak akan menggunakan db.
Coba ini:
1) Buka direktori yang berisi lingkungan virtual Anda:
$ cd /some/path/to/venv
2) Daftar semua file:
$ ls
3) Ubah ke direktori bin:
$ cd bin
4) Daftar semua file:
$ ls
5) Buka file activate_this.py
dan baca komentar di atas, mis.
$ vi activate_this.py
6) Klik tautan ke dokumen Flash yang saya posting di tanggapan saya sebelumnya dan baca materi di sana lagi.