Jupyter 笔记本和没有名为 'bs4' 的模块



我试图使用美丽的汤,但是python内核无法在jypter中找到它。运行时:

!pip3 list
!pip3 install BeautifulSoup4
from bs4 import BeautifulSoup

我收到这个错误:

Package         Version
--------------- -------
beautifulsoup4  4.9.3
bs4             0.0.1
numpy           1.20.1
pandas          1.2.3
pip             21.0.1
python-dateutil 2.8.1
pytz            2021.1
setuptools      53.0.0
six             1.15.0
soupsieve       2.2
wheel           0.36.2
Requirement already satisfied: BeautifulSoup4 in /usr/local/lib/python3.9/site-packages (4.9.3)
Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.9/site-packages (from BeautifulSoup4) (2.2)
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-11-c89f195c7568> in <module>
1 get_ipython().system('pip3 list')
2 get_ipython().system('pip3 install BeautifulSoup4')
----> 3 from bs4 import BeautifulSoup
4 print("scapy time")
5 for url in stillAlive:

beautiful soup也通过pip安装在jupyter之外

Jupiter笔记本没有指向正确的pip包。为了解决这个问题,我把这个放在我的代码的顶部:

import sys
sys.path.append("/usr/local/lib/python3.9/site-packages")

我认为问题是与bs4包:卸载bs4,再试一次。它与beautifulsoup4重叠,因此您将得到一个错误。

我想这是虚拟环境的问题。我也有同样的问题,想分享一个解决方案。

解决方案:确保在虚拟环境中运行jupyter notebook时。应该安装jupyter notebook和BeautifulSoup。如果缺少它们,则现有环境中的其中一个将无法工作。这会引起混乱,因为默认的jupyter笔记本可以在任何虚拟环境中启动,即使它没有安装在当前的工作环境中。

例如:

假设默认包pip列表:

Package              Version
-------------------- -----------
argon2-cffi          21.3.0
argon2-cffi-bindings 21.2.0
asttokens            2.0.5
attrs                22.1.0
backcall             0.2.0
notebook             6.4.12

这是venv(虚拟环境)(缺失notebook):

Package              Version
-------------------- -----------
argon2-cffi          21.3.0
argon2-cffi-bindings 21.2.0
asttokens            2.0.5
attrs                22.1.0
backcall             0.2.0
beautifulsoup4       4.11.1

当我在venv中运行jupyter notebook时,它从默认安装的包运行。因此,它给了我以下错误:

from bs4 import BeautifulSoup
Traceback (most recent call last):
File "/Users/lyons/Documents/scrape/scrape.py", line 2, in <module>
from bs4 import BeautifulSoup
ModuleNotFoundError: No module named 'bs4'

安装完成后,在venv中打开jupyter笔记本。它修复了

最新更新