2016-10-11 6 views
-2

Die gleiche Frage wurde mehrmals gestellt, aber ich konnte die Lösung nicht finden.ImportError: Kein Modul mit dem Namen 'bs4' in Django nur

Nachdem ich ein Paket mit Pip installiert habe, kann ich es in Python-Konsole oder Python-Datei importieren und es funktioniert wie erwartet. Das gleiche Paket, wenn ich versuche, in Django aufzunehmen, gibt es import error. Muss ich die Datei settings.py oder eine Anforderung, die ich hinzufügen muss, ändern? Ich fahre Django mit Hilfe von virtuellem env.

ZB: Ich verwende BeautifulSoup und ich versuche from bs4 import BeautifulSoup und ich erhalte Störung ImportError: No module named 'bs4'

Dieser Fehler kommt nur in django bin zu importieren. Ich bin nicht in der Lage herauszufinden, warum dies geschieht.

Screenshot als Referenz beigefügt.

1. Python Konsole - zeigt keine Fehler

python2 and python3 console

2. django Konsolen- Importfehler

django console

Es tut mir leid, da es schwierig ist, Lies die Konsole, aber jede andere Sache, die ich mit einschließen kann, wird mir helfen, m zu machen selbst klarer wird geschätzt.

+4

Kopieren Sie die Ausgabe und fügen Sie keine Screenshots hinzu. Screenshots sind böse (schwer lesbar, Probleme mit der Zugänglichkeit, Text kann nicht für die Suche indiziert werden) –

+0

Es gibt keine Ausgabe, die angezeigt werden kann. Dies ist nur ein Importfehler. –

+1

Es ist der Fehler, den Sie kopieren und einfügen sollten. Wie Jérôme sagt, Screenshots sind böse. –

Antwort

2

Sie zeigen weder den Code Ihrer Site noch den von Ihnen ausgeführten Befehl (und die von Ihnen eingegebene URL, falls vorhanden) an, um dieses Problem auszulösen. Es gibt fast sicher einen Unterschied zwischen der Python-Umgebung in der Befehlszeile und der in Django.

Verwenden Sie virtuelle Umgebungen? Wenn dies der Fall ist, sollten die Abhängigkeiten separat zu jeder Umgebung hinzugefügt werden. Haben Sie von einem anderen Arbeitsverzeichnis aus gearbeitet? Python hat normalerweise das aktuelle Verzeichnis irgendwo in sys.path, also wenn Sie Verzeichnisse geändert haben, ist es möglich, dass Sie bs4 nicht auf diese Weise gemacht haben.

Auf der interaktiven Python-Prompt, versuchen

import bs4 
bs4.__file__ 

, die Ihnen sagen, wo bs4 von importiert wird, und könnten Sie daher einen Hinweis geben, warum zu Django verfügbar ist es nicht.

+0

Die Datei ist bereits in den Site-Paketen von python2 und python3 vorhanden. Alle Pakete, die zuvor mit 'pip' heruntergeladen wurden, funktionieren außer diesem. Gibt es etwas Offensichtliches, das mir fehlt? –

+0

Versuchen Sie, 'sys.path' aus beiden Umgebungen zu drucken, und sehen Sie nach, ob die Unterschiede für Ihr Problem verantwortlich sind. – holdenweb

Verwandte Themen