ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory
Third-person routing text. Fixes the numpy ImportError for the missing libopenblas.so.0 system library: install the OpenBLAS runtime package for your OS or use a numpy wheel that bundles it. Use when an agent sees this shared-library error on import numpy on Linux. Not for Windows or macOS, which bundle their own BLAS.
TL;DR: numpy needs the OpenBLAS shared library and your system does not provide it. Install the OpenBLAS runtime package for your Linux distro, or reinstall numpy from a wheel that bundles OpenBLAS. Then import numpy works.
The error
ImportError: libopenblas.so.0: cannot open shared object file: No such file or directoryFix it
Install the OpenBLAS runtime package. On Debian/Ubuntu:
sudo apt install libopenblas0On RHEL/Fedora:
sudo dnf install openblas. Expected: the package installs without errors.Verify the library is now visible:
ldconfig -p | grep libopenblasExpected: a line showing libopenblas.so.0.
Retry the import:
python -c "import numpy; print(numpy.__version__)"Expected: prints the version, no error.
Alternative if you cannot install system packages: force a numpy wheel that bundles its own OpenBLAS:
pip install --force-reinstall numpyExpected: the fresh wheel imports cleanly.
When this applies
Use this when import numpy (or scipy, which shares the dependency) fails on Linux with the libopenblas.so.0 message.
When it does not apply
On Windows or macOS numpy wheels bundle their own BLAS, so this error there means something else. If the missing file is a different .so, install that library instead.
Compatibility
Linux, numpy/scipy built against system OpenBLAS (common with distro-packaged python or some cluster setups). Official PyPI manylinux wheels bundle OpenBLAS and do not hit this.
Root cause
numpy links against the OpenBLAS linear-algebra library at import time. Some installs link the system copy instead of a bundled one, so a machine without the OpenBLAS runtime package fails the dynamic load.
Edge cases
On HPC clusters the fix is usually module load of the right environment module rather than apt. In minimal docker images, add the package to the Dockerfile. If ldconfig still cannot see it after install, run sudo ldconfig once.