2016-10-11 57 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

相关问题