安装了 BeautifulSoup 但仍然没有得到名为 bs4 的模块
Posted
技术标签:
【中文标题】安装了 BeautifulSoup 但仍然没有得到名为 bs4 的模块【英文标题】:Installed BeautifulSoup but still get no module named bs4 【发布时间】:2018-07-07 15:27:14 【问题描述】:我使用的是 Jupyter 笔记本、Python 3.5 和虚拟环境。
在我的虚拟环境中我做了:
(venv) > pip install BeautifulSoup4
这似乎运行良好 b/c 终端输出是:
Downloading beautifulsoup4-4.6.0-py2-none-any.whl (86kB)
100% |████████████████████████████████| 92kB 297kB/s
Installing collected packages: BeautifulSoup4
Successfully installed BeautifulSoup4-4.6.0
但是当我运行我的 Jupyter 笔记本时,我得到:
ImportError Traceback (most recent call last)
<ipython-input-1-5fe69888b1a1> in <module>()
5 from itertools import groupby
6 import pickle
----> 7 import bs4
8 import matplotlib.pyplot as plt
9 get_ipython().run_line_magic('matplotlib', 'inline')
ImportError: No module named 'bs4'
而且我无法将import bs4
更改为from bs4 import BeautifulSoup
,这是我在其他 SO 帖子中看到的 b/c 它是只读的,我不应该这样做
【问题讨论】:
【参考方案1】:我遇到了同样的问题,bs4 与 Jupyter Lab 一起安装在我的虚拟环境中。 Jupyter 会抛出 ModuleNotFound 错误,但如果我在 Visual Studio Code 中打开笔记本并选择 .venv 作为解释器,它就可以工作。
我通过从虚拟环境中卸载并改用sudo apt-get install python3-bs4
安装来让它在 Jupyter Lab 中工作。
【讨论】:
【参考方案2】:由于您使用的是 Python 3,我认为您需要这样做
pip3 install BeautifulSoup4
对于 Python 2 包,只需 pip install。
其他需要检查的事项:
首先确保在 virtualenv 中运行 BeautifulSoup 安装,并在 virtualenv 中运行 python3 提示符或 Jupyter notebook。如果您在根环境中进行了安装,并且笔记本在您的 virtualenv 中运行,反之亦然,您的 site-packages 目录可能不匹配。
通过在命令提示符下键入 pip3 list 并注意它出现在列表中,确保您的包确实已安装。
检查您的 Jupyter 笔记本是否确实在运行 Python 3.5 内核(浏览器窗口的右上角)
检查安装包的路径是否在你的 sys.path 中
打开 Python3 提示符或在 Jupyter 中运行
import sys
print (sys.path)
【讨论】:
我不认为这是问题 b/c 我已经尝试过并得到:Requirement already satisfied: BeautifulSoup4 in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
我认为它安装了错误的(Python2)包。尝试删除它并使用 pip3 重新安装。它正在查找包,但无法从 Python 3 virtualenv 导入
好的,我做了pip uninstall BeautifulSoup4
、pip3 uninstall BeautifulSoup4
和pip3 uninstall bs4
。然后我做了pip3 install BeautifulSoup4
,终端说Collecting BeautifulSoup4 Using cached beautifulsoup4-4.6.0-py3-none-any.whl Installing collected packages: BeautifulSoup4 Successfully installed BeautifulSoup4-4.6.0
,但它仍然无法正常工作:(
import bs4 仍然失败?也从 bs4 导入 BeautifulSoup ?后者至少应该工作。还要执行 pip3 list 并确保它确实在包列表中。如果失败,您可能需要使用 setup.py 从源代码安装
没关系!我想你已经走到了尽头! b/c 当我将bs4
文件夹和beautifulsoup
文件夹从/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
复制并粘贴到/Users/.../venv/lib/python3.5/site-packages
时,该导入语句现在有效。但是现在我在不同的包上遇到了相同的导入错误。所以看来你说的是对的。但是我在终端上感到困惑,我看到(venv) >
,所以我觉得我应该安装在我的venv
中,所以我不确定为什么我不这样做以上是关于安装了 BeautifulSoup 但仍然没有得到名为 bs4 的模块的主要内容,如果未能解决你的问题,请参考以下文章
如何解决'连接中止'。使用BeautifulSoup在Python中出错
我已经使用 PartitionKey 注释声明了主键,但仍然得到 Entity Order 没有声明主键
为啥我在 Python 中使用 BeautifulSoup 得到“'ResultSet' 没有属性 'findAll'”?