Unable to import psutil on M1 mac with miniforge: (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e'))
Asked Answered
B

2

6

I'm using a miniforge environment on an M1 mac, and unable to import psutil:

ImportError: dlopen(/Users/caspsea/miniforge3/lib/python3.9/site-packages/psutil/_psutil_osx.cpython-39-darwin.so, 0x0002): tried: '/Users/caspsea/miniforge3/lib/python3.9/site-packages/psutil/_psutil_osx.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/_psutil_osx.cpython-39-darwin.so' (no such file), '/usr/lib/_psutil_osx.cpython-39-darwin.so' (no such file)

I tried uninstalling and reinstalling using pip but that did not work. I'm using python 3.9, OS Monterey 12.2.1

Brewing answered 14/6, 2022 at 14:54 Comment(0)
J
19

Have you tried:

pip uninstall psutil

followed by:

pip install --no-binary :all: psutil

Junta answered 14/6, 2022 at 14:58 Comment(4)
Thanks - not sure why this worked but it did!Brewing
Thanks for the right answer. This is the only solution that worked so far. Would you be so kind to share what is causing this error?Szechwan
@StanKosy, the precompiled binaries were architecture-specific rather than universal (which generally means the person publishing them made a packaging mistake to cause them to be recorded as for the wrong architecture, or wrongly described the package as architecture-independent); when you don't install from precompiled binaries but instead build from source, you get something targeting your own system's architecture.Renshaw
you have just solved what i couldn't for the past 2 weeksVertu
S
0

Thanks Jude's answer.

I encountered

ImportError: dlopen ...(mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)) when I run Jupyter Lab from new MacBook.

And when trying install psutil, I got following error

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun error: command '/usr/bin/clang' failed with exit code 1 [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for psutil Failed to build psutil ERROR: Could not build wheels for psutil, which is required to install pyproject.toml-based projects

to fix that, I download xcode

Spokeswoman answered 10/8, 2022 at 2:33 Comment(2)
Hello, the problem is that you do not have a working C compiler. Run xcode-select --install and accept the prompt to install Apple's Command Line Tools.Skipbomb
(the xcode-select --install download is much smaller than the full XCode GUI, so the above comment is good advice).Renshaw

© 2022 - 2024 — McMap. All rights reserved.