sql >> Databáze >  >> NoSQL >> MongoDB

ImportError:Žádný modul s názvem parse

Vypadá to, že svou aplikaci používáte s pythonem 2.x, ale moduly, které vaše aplikace používá, jsou z pythonu 3.x. Konkrétně pymongo se pokouší importovat modul urllib.parse , který se jmenoval urlparse v pythonu 2.x. Výsledkem je spuštění import urllib.parse s pythonem 2.x způsobí chybu ImportError.

Jak jste aktivovali své virtuální prostředí?

Reakce na komentář:

To je v pořádku. Kód pymongo ve vašem virtuálním prostředí je to, co se připojuje k vašemu serveru mongodb (pomocí zadaného portu).

Postupovali jste podle pokynů v Dokumentace k lahvičce s ohledem na mod_wsgi , virtualenv a nastavení activate_this proměnná?

Reakce na komentář č. 2:

Ano, váš web funguje dobře, když je spouštěn pomocí pythonu 2.x, ale když začnete používat db, používáte moduly, které se snaží importovat knihovny do pythonu 3.x. V důsledku toho, pokud budete i nadále používat python 2.x ke spouštění svého webu, nebudete používat db.

Zkuste toto:

1) Přejděte do adresáře obsahujícího vaše virtuální prostředí:

$ cd /some/path/to/venv

2) Seznam všech souborů:

$ ls 

3) Přejděte do adresáře bin:

$ cd bin

4) Seznam všech souborů:

$ ls

5) Otevřete soubor activate_this.py a přečtěte si komentáře nahoře, např.

$ vi activate_this.py

6) Klikněte na odkaz na dokumenty Flash, které jsem zveřejnil ve své předchozí odpovědi, a přečtěte si tam materiál znovu.



  1. Jak mohu použít doplněk mongolab do Heroku z pythonu?

  2. Přepínač MongoDB $

  3. Je kurzor.skip() na indexovaných klíčích vždy rychlejší?

  4. Mongo dává chybu klíče dup pro pole s jedinečným:false