Has anyone else had this issue with the latest v 4.4 (and .1) enabling some addons? I’m on Mac OS 12.7.6. Thought I’d check in here before maybe doing a bug report
Example addons giving the error include Blenrig 6 v4.0, bonewidget, Loom, Weight Paint Tools, and numerous others that worked for me in Blender 4.3.
I tried doing a clean Blender 4.4 install without importing previous settings, but no luck as yet.
I’ve never had to mess with manual Python or NumPy installations. Hoping I don’t have to try to figure that out.
Any ideas much appreciated.
Here is the error:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
* The Python version is: Python3.11 from "/Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/bin/python3.11"
* The NumPy version is: "1.26.4"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: dlopen(/Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/lib/python3.11/site-packages/numpy/core/_multiarray_umath.cpython-311-darwin.so, 0x0002): Symbol not found: (_cblas_caxpy$NEWLAPACK)
Referenced from: '/Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/lib/python3.11/site-packages/numpy/core/_multiarray_umath.cpython-311-darwin.so'
Expected in: '/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate'IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
* The Python version is: Python3.11 from "/Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/bin/python3.11"
* The NumPy version is: "1.26.4"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: dlopen(/Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/lib/python3.11/site-packages/numpy/core/_multiarray_umath.cpython-311-darwin.so, 0x0002): Symbol not found: (_cblas_caxpy$NEWLAPACK)
Referenced from: '/Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/lib/python3.11/site-packages/numpy/core/_multiarray_umath.cpython-311-darwin.so'
Expected in: '/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate'
this is the answer Grok gave, i think it should help:
The error you’re encountering when trying to import NumPy in Blender 4.4 on macOS (“Symbol not found: (_cblas_caxpy$NEWLAPACK)”) indicates a compatibility issue between the NumPy version installed and the macOS Accelerate framework, which provides BLAS and LAPACK functions. This is a common issue when NumPy’s C-extensions fail to link properly with macOS’s system libraries, often due to mismatched expectations about the BLAS/LAPACK implementation. Let’s break this down and solve it step by step.
Why This Error Happens
Blender’s Python Environment: Blender 4.4 uses Python 3.11, bundled within its application (at /Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/bin/python3.11). When you install NumPy, it’s installed into this isolated Python environment.
NumPy and Accelerate Framework: NumPy uses BLAS and LAPACK for numerical computations, and on macOS, it typically links to Apple’s Accelerate framework (/System/Library/Frameworks/Accelerate.framework). The error Symbol not found: (_cblas_caxpy$NEWLAPACK) means that NumPy’s _multiarray_umath module is trying to call a function (_cblas_caxpy) that it expects to find in Accelerate, but the symbol has a suffix ($NEWLAPACK) that Accelerate doesn’t provide in your macOS version.
Root Cause: This issue often arises because:
The NumPy version (1.26.4) was built with a different BLAS/LAPACK implementation (e.g., OpenBLAS or a newer Accelerate version) than what your macOS provides.
macOS version differences: macOS Ventura (13) and later updated the Accelerate framework, but if you’re on an older macOS (e.g., Monterey 12), the symbols might not match.
NumPy 1.26.4 might have been compiled with assumptions about macOS 14 (Sonoma) or later, while your system might be running an older version.
Steps to Fix the Issue
1. Check Your macOS Version
The error mentions the Accelerate framework, which varies across macOS versions. Run the following in Terminal to check your macOS version:
If you’re on macOS 12 (Monterey) or earlier, the Accelerate framework might not support the $NEWLAPACK symbols that NumPy 1.26.4 expects. If so, consider upgrading macOS to Ventura (13) or later, as NumPy 1.26.4 is likely built for newer macOS versions.
2. Downgrade NumPy to a Compatible Version
NumPy 1.26.4 might be incompatible with your macOS version or Blender’s Python setup. Downgrade to an earlier version of NumPy that is known to work with Blender 4.4 and your macOS version.
Steps:
Open Terminal and navigate to Blender’s Python bin directory:
cd /Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/bin
Uninstall the current NumPy version:
./python3.11 -m pip uninstall numpy
Install an older version of NumPy, such as 1.25.2, which has broader compatibility with macOS versions:
./python3.11 -m pip install numpy==1.25.2
Test in Blender by running a script in the Scripting workspace:
import numpy
print(numpy.__version__)
If 1.25.2 works without errors, this is the simplest fix. If not, try even earlier versions like 1.24.4.
3. Force NumPy to Use OpenBLAS Instead of Accelerate
NumPy can be built to use OpenBLAS instead of Accelerate, which avoids the symbol mismatch. You’ll need to install OpenBLAS and rebuild NumPy.
Steps:
Install OpenBLAS via Homebrew:
brew install openblas
Uninstall NumPy:
cd /Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/bin
./python3.11 -m pip uninstall numpy
Set environment variables to tell NumPy to use OpenBLAS:
This forces NumPy to build from source using OpenBLAS, avoiding the Accelerate framework entirely.
4. Ensure Proper Python Environment
Blender’s Python environment should be isolated. If you have a system-wide NumPy installation that conflicts, it might cause issues.
Steps:
Verify that Blender’s Python is using the correct site-packages:
/Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/bin/python3.11 -m site
Ensure the path includes /Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/lib/python3.11/site-packages.
If there’s a conflict with a system-wide NumPy, uninstall it:
/usr/bin/python3 -m pip uninstall numpy
Reinstall NumPy only in Blender’s environment (as shown in step 2).
5. Upgrade macOS (If Possible)
If you’re on macOS 12 (Monterey) or earlier, the Accelerate framework might be too old for NumPy 1.26.4. Upgrading to macOS 13 (Ventura) or 14 (Sonoma) can resolve this, as newer Accelerate versions include the $NEWLAPACK symbols.
Steps:
Go to System Settings > Software Update and upgrade to the latest macOS.
After upgrading, reinstall NumPy in Blender’s Python environment:
cd /Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/bin
./python3.11 -m pip install numpy
6. Use a Virtual Environment (Advanced)
Create a virtual environment to isolate dependencies and avoid conflicts with Blender’s Python:
Other libraries in Blender’s Python environment might interfere with NumPy’s linking to Accelerate. For example, if another library (e.g., SciPy) uses a different BLAS implementation, it can cause conflicts.
Steps:
List all installed packages in Blender’s Python:
/Applications/Blender-4.4/Blender.app/Contents/Resources/4.4/python/bin/python3.11 -m pip list
If you see other numerical libraries (e.g., SciPy, pandas), uninstall and reinstall them after fixing NumPy:
The simplest and most reliable fix is to downgrade NumPy to 1.25.2 (step 2). This version is known to work with Blender 4.4 on macOS and avoids the $NEWLAPACK symbol issue. If you need the latest NumPy features, consider upgrading macOS (step 5) or using OpenBLAS (step 3).
Test After Fixing
After applying one of the fixes, test in Blender:
Open Blender, go to the Scripting workspace, and run:
Blimey! That’s quite an answer! Well I don’t understand it much, but I’ll give the NumPy downgrading a go. Would rather not have to updgrade my OS for now if I can help it
The downgrade within Blender did work for me, got Blenrig working at least so far. Maybe worth noting for other folks who might be hanging on to OSX 12 for the sake of Rosetta still. Could probably even use a separate Blender download option for that maybe…