ImportError: Missing optional dependency 'pyarrow'. Use pip or conda to install pyarrow.
Third-person routing text. Fixes pandas read_parquet and related calls failing with Missing optional dependency pyarrow: install pyarrow (or fastparquet). Use when an agent hits this ImportError on parquet IO. Not for other missing optional dependencies.
TL;DR: pandas needs pyarrow installed to read parquet files and it is missing. Run pip install pyarrow, restart your interpreter or kernel, and re-run read_parquet.
The error
ImportError: Missing optional dependency 'pyarrow'. Use pip or conda to install pyarrow.Fix it
- Install pyarrow:
pip install pyarrowExpected: install completes.
- Restart your Python interpreter or notebook kernel so the new package is picked up. Expected: fresh session.
- Retry the read:
import pandas as pd
df = pd.read_parquet("data.parquet")
print(df.head())Expected: prints the first rows.
When this applies
Use this when readparquet, toparquet, or read_feather raises the missing-pyarrow message.
When it does not apply
If the error names fastparquet instead, either engine works; pyarrow is the recommended one. If pyarrow is installed but the read still fails, check the file is valid parquet.
Compatibility
pandas 1.x and 2.x. pyarrow wheels exist for all major platforms; very old 32-bit systems may need fastparquet instead.
Root cause
Parquet support in pandas is delegated to an external engine, pyarrow by default. pandas does not hard-depend on it, so a fresh environment hits this on first parquet use.
Edge cases
In notebooks, installing without restarting the kernel leaves the old import state; the restart is required. If you pin pandas, also pin a compatible pyarrow; major version skew can break the engine interface.
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.