-
Notifications
You must be signed in to change notification settings - Fork 0
Description
❗ Python 3.14 Incompatibility — pyarrow, numpy, and ML dependencies fail to build
Description
The project does not install or run correctly on Python 3.14 due to multiple dependency failures.
Several core scientific and machine learning libraries currently do not provide prebuilt wheels for Python 3.14, including:
- NumPy
- PyArrow
- Pandas
- Streamlit
- ChromaDB (and hnswlib)
- Polars
- HuggingFace Datasets
As a result, pip attempts to compile these libraries from source, which fails even if all C++ build tools and CMake are installed.
This makes the current project incompatible with Python 3.14.
Environment
- OS: Windows 11
- Python version: 3.14
- Pip: 25.3
- Compilers: MSVC Build Tools installed
- CMake: Installed
Errors Encountered
1. PyArrow Build Failure
PyArrow does not support Python 3.14.
Pip attempts to compile from source:
ERROR: Failed building wheel for pyarrow
error: command 'cmake' failed with exit code 1
PyArrow releases wheels only up to Python 3.12.
2. NumPy Build Failure
NumPy also has no wheels for Python 3.14, so pip attempts a full source compile:
ERROR: Problem encountered: NumPy requires GCC >= 8.4
This fails because:
- Windows does not ship GCC,
- Building NumPy from source is not supported on Windows without a POSIX environment.
3. Streamlit Dependency Failure
Modern Streamlit versions depend on pyarrow, which again cannot install:
Preparing metadata (pyproject.toml) ... error
pyarrow build failed
This prevents Streamlit-based components from working.
Technical Reason (Why This Happens)
Python 3.14 is too new, and the scientific Python ecosystem has not yet released binary wheels for it.
Many libraries rely on precompiled wheels with C/C++ extensions.
Without wheels, pip falls back to source builds, which usually fail on Windows due to:
- missing or incompatible compilers
- unsupported C++17 features
- missing Arrow C++ libraries
- incompatible build systems (Meson, CMake, GCC toolchain)
Thus, the dependency chain breaks early — especially at NumPy and PyArrow.
Expected Behavior
Running:
pip install -r requirements.txt
should install all dependencies successfully.
Actual Behavior
Installation fails with CMake / C++ compilation errors due to missing Python 3.14-compatible wheels.
Recommended Fix
Specify a supported Python version:
✔ Use Python 3.10, 3.11, or 3.12
These versions have complete support across:
- NumPy
- PyArrow
- Pandas
- Torch
- Sentence Transformers
- LangChain
- Streamlit
- Google Cloud SDKs
Example setup:
python3.11 -m venv venv
source venv/bin/activate
or add this to README:
Python 3.14 is not supported. Use Python 3.10–3.12.
Conclusion
The project cannot be installed or executed properly with Python 3.14 due to ecosystem incompatibilities.
Downgrading to Python 3.11 resolves all issues.
Please consider updating the documentation to reflect supported Python versions.