Skip to content

Python 3.14 Incompatibility — pyarrow, numpy, and ML dependencies fail to build #44

@DEMiHAT

Description

@DEMiHAT

❗ 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.



Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions