Installation
Beautiful Soup 4 is a pure Python package on PyPI. Installing it is a single pip command; the parser backends are optional extras.
Basic Install
pip install beautifulsoup4
Inside a virtual environment this is the only step you need: Python's built-in html.parser works without extra packages.
Installing Parser Backends
For faster and more forgiving parsing, install lxml (recommended for most work):
pip install lxml
# optional, browser-like parsing (slowest):
pip install html5lib
Verify the Installation
python -m pip show beautifulsoup4
from bs4 import BeautifulSoup
from importlib.metadata import version
print(version("beautifulsoup4"))
soup = BeautifulSoup("<b>ok</b>", "html.parser")
print(soup.b.text) # ok
Troubleshooting
- If the parser name is not recognized (FeatureNotFound), install that backend: lxml or html5lib.
- In notebooks, restart the kernel after installing so the import picks up the new package.
- On locked-down systems, pip install --user or use a virtual environment instead.
Choosing a Parser
All three backends parse the same HTML, but they differ in speed and tolerance. Use html.parser when you cannot install anything extra; use lxml when you process large pages or untrusted markup and want the best speed; use html5lib only when you specifically need browser-style error recovery, accepting that it is the slowest option. Whichever you pick, pass the parser name explicitly so a missing backend fails loudly instead of silently degrading.
Summary
Install Beautiful Soup with pip install beautifulsoup4, add lxml (or html5lib) if you want a faster or more forgiving parser, and verify with a small parse test. The built-in html.parser is always available; lxml is the best default for real-world HTML.