ImportError:仅在django中没有名为“bs4”的模块

时间:2016-10-11 07:46:35

标签: python django

同样的问题已被多次询问,但我找不到解决方案。

使用pip安装软件包之后,我可以在python控制台或python文件中导入它,它可以按预期工作。 当我尝试在django中包含相同的包时,它会给出import error。 我是否需要修改settings.py文件或我需要添加的任何要求?我在虚拟环境的帮助下驾驶django。

例如: 我正在使用BeautifulSoup而我正在尝试导入from bs4 import BeautifulSoup,我收到错误ImportError: No module named 'bs4'

此错误仅出现在django中。我无法弄清楚为什么会这样。

附上截图以供参考。

1。 python控制台 - 显示没有错误

python2 and python3 console

2。 django console-导入错误

django console

我很抱歉因为很难阅读控制台,但我可以提供的其他任何可以帮助我让自己更清楚的事情将会受到赞赏。

1 个答案:

答案 0 :(得分:2)

您不会显示您网站的代码或您运行的命令(以及您输入的网址,如果有的话)来触发此问题。在命令行上的Python环境和在Django中运行的Python环境几乎肯定存在一些差异。

您使用的是虚拟环境吗?如果是这样,应将依赖项单独添加到每个环境中。你在不同的工作目录中运作吗? Python通常在sys.path中的某个位置有当前目录,因此如果您更改目录,则可能使bs4不可用。

在交互式Python提示符下,尝试

import bs4
bs4.__file__

这将告诉您导入bs4的位置,因此可能会为您提供有关Django无法使用的原因的线索。