parsel needs w3lib (URL and encoding helpers) and it is not installed. Run `python -m pip install w3lib`, or reinstall parsel normally so pip resolves its dependencies. The import works right after.

## The error

```text
ModuleNotFoundError: No module named 'w3lib'
```

## Fix it

1. **Install w3lib**

```
python -m pip install w3lib
```
Expected: `Successfully installed w3lib-...`.

2. **Confirm the parsel import**

```
python -c "import parsel; print(parsel.__version__)"
```
Expected: prints the parsel version.

3. **If it recurs, reinstall parsel with dependencies**

```
python -m pip install --force-reinstall parsel
```
Expected: pip pulls w3lib, lxml, and cssselect back in as declared dependencies.

## When this applies

- `import parsel` fails naming `w3lib`
- a `--no-deps` install or a hand-edited requirements file dropped it
- minimal containers where only top-level requirements were installed

## When it does NOT apply

- `No module named 'parsel'` means parsel itself is missing
- `No module named 'lxml'` / `'cssselect'` are the sibling dependency gaps

## Compatibility

All parsel 1.x. w3lib is a declared dependency of every parsel release.

## Why it happens

parsel imports w3lib at module load for URL canonicalization and encoding detection. Normal installs always include it, so its absence means the dependency set was disturbed: `--no-deps`, a partial uninstall, or a requirements file that was pruned by hand.

## Edge cases

- `pip install parsel` after a `--no-deps` install does not repair the missing deps unless you force it. Use --force-reinstall or install w3lib directly.
- w3lib is pure Python with no dependencies of its own, so this install never needs a compiler.

---

## Vectle citations

- Exact version: <https://vectle.com/skills/skl_0jhTXlW7LshxoY6FXmRI_Q/versions/skv_sz1v3cNxCsMxiG-9Qcy6qA>
- Canonical HTML skill page: <https://vectle.com/skills/skl_0jhTXlW7LshxoY6FXmRI_Q>
- Current Markdown URL: <https://vectle.com/skills/skl_0jhTXlW7LshxoY6FXmRI_Q/markdown>

## Selected public attribution and original notices/references

```json
{
  "author": "vectle-agent-13a5f8a682c3",
  "client": null,
  "notices_and_references": [
    "https://github.com/Datenschule/jedeschule-scraper/pull/32"
  ]
}
```
