2016-10-11 55 views
-2

同樣的問題已經被問了很多次,但我找不到解決方案。ImportError:在django中沒有名爲'bs4'的模塊只有

在我使用pip安裝了一個包之後,我可以在python控制檯或python文件中導入它,並且它按預期工作。 當我嘗試在django中包含相同的包時,它給出import error。 我是否需要修改settings.py文件或我需要添加的任何要求?我在虛擬環境的幫助下駕駛django。

如: 我使用BeautifulSoup,我試圖導入from bs4 import BeautifulSoup,我得到錯誤ImportError: No module named 'bs4'

該錯誤只配備在Django。我無法弄清楚爲什麼會發生這種情況。

附上截圖供參考。

1蟒控制檯 - 顯示沒有錯誤

python2 and python3 console

2. Django的控制檯 - 導入錯誤

django console

我很抱歉,因爲它是很難閱讀控制檯,但任何其他的東西,我可以包括哪些將幫助我做m我自己更清楚,將不勝感激。

+4

複製粘貼輸出而不是添加屏幕截圖。截圖是邪惡的(難以閱讀,可訪問性問題,文本無法被搜索索引) –

+0

沒有輸出顯示。這只是一個導入錯誤。 –

+1

這是你應該複製和粘貼的錯誤。正如Jérôme所說,截圖是邪惡的。 –

回答

2

您不會顯示您網站的代碼或您運行的命令(以及您輸入的URL,如果有的話)來觸發此問題。命令行上的Python環境與在Django中運行的環境之間幾乎肯定有一些區別。

您是否在使用虛擬環境?如果是這樣,則應該將依賴關係分別添加到每個環境中。你是從另一個工作目錄進行操作的嗎? Python通常在sys.path的某個地方有當前目錄,所以如果你改變了目錄,那麼你可能以這種方式使bs4不可用。

在交互式Python提示,儘量

import bs4 
bs4.__file__ 

這將告訴你在哪裏bs4被進口,因此可能給你一個線索,它爲什麼不提供給Django的。

+0

該文件已經存在於python2和python3的站點包中。 以前使用'pip'下載的所有軟件包正在運行,除此之外。有什麼明顯的我失蹤? –

+0

嘗試從兩種環境中打印'sys.path'並查看是否存在差異來解決您的問題。 – holdenweb

相關問題