Python 2.7 没有名为bs4.element的模块
我有一个导入bs4的脚本,如下所示:Python 2.7 没有名为bs4.element的模块,python-2.7,bs4,Python 2.7,Bs4,我有一个导入bs4的脚本,如下所示: from bs4 import BeautifulSoup 我没有安装bs4,而是将beautifulsoup4-4.4.1(from)中的bs4目录包含在与脚本相同的目录中 当我直接从命令提示符运行此脚本时(在Windows 7 VirtualBox VM上) 导入工作正常(我的脚本的其余部分也是如此) 但是我需要从一个更大的框架中运行这个脚本,在这个框架中,它作为来自其他Python代码的模块的一部分被调用。关于这一点,我不能说得更具体,因为该框架由我
from bs4 import BeautifulSoup
我没有安装bs4,而是将beautifulsoup4-4.4.1
(from)中的bs4
目录包含在与脚本相同的目录中
当我直接从命令提示符运行此脚本时(在Windows 7 VirtualBox VM上)
导入工作正常(我的脚本的其余部分也是如此)
但是我需要从一个更大的框架中运行这个脚本,在这个框架中,它作为来自其他Python代码的模块的一部分被调用。关于这一点,我不能说得更具体,因为该框架由我的公司所有
我的脚本被正确调用,直到它到达导入bs4的点为止。我得到以下错误:
No module named bs4.element
此代码在与上述相同的Windows 7 VirtualBox VM上运行。我确保bs4目录位于PYTHONPATH
(路径为C:\Users\me\path-to-bs4
)。我知道找到了bs4,因为当我在bs4/\uuuuuu init\uuuuuuu.py
的最顶端添加一条print语句时,我会在输出中看到结果
我不知道是什么导致了这个问题。谁能给我指出正确的方向吗
我正在使用Python 2.7.6。有可能
bs4/element.py
被路径上另一个名为element.py
的Python脚本屏蔽
有人会用更好的解释来改进这个答案,还是验证它的正确性
这种可能性也在其他SO问题中提到过,我没有意识到它也适用于我的情况,因为我们的框架没有其他名为element.py
的脚本。但冲突脚本也可能是我们导入的外部模块的一部分
也有可能这不是我得到名为bs4.element的模块的原因
我的解决方法是使用
pip
在VM上安装bs4。有可能bs4/element.py
被路径上另一个名为element.py
的Python脚本屏蔽
有人会用更好的解释来改进这个答案,还是验证它的正确性
这种可能性也在其他SO问题中提到过,我没有意识到它也适用于我的情况,因为我们的框架没有其他名为element.py
的脚本。但冲突脚本也可能是我们导入的外部模块的一部分
也有可能这不是我得到名为bs4.element的模块的原因
我的解决方法是使用pip
在VM上安装bs4
No module named bs4.element