Issue installing JupyterLab with Python 3.10.5 on M1 Mac

I have been trying to install JupyterLab with Python 3.10.5 on my M1 Mac Mini running macOS Monterey version 12.4. First, please note that I had no issue doing the same on my Intel based MacBook Pro also running macOS Monterey version 12.4.

Installing Python 3.10.5 was not a problem. Following the instructions at Installation β€” JupyterLab 3.4.3 documentation, I opened a Terminal window and ran the following command:

            pip3 install jupyterlab

All seemed to be going well and then the text below appeared in the terminal window. Any information on what is happening and how to solve the issue would be greatly appreciated.

Sincerely, Dale

clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -DPSUTIL_POSIX=1 -DPSUTIL_SIZEOF_PID_T=4 -DPSUTIL_VERSION=591 -DPSUTIL_OSX=1 -I/Library/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c psutil/_psutil_common.c -o build/temp.macosx-10.9-universal2-cpython-310/psutil/_psutil_common.o
In file included from psutil/_psutil_common.c:9:
In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:11:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/limits.h:21:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h:63:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
#error Unsupported architecture
^
In file included from psutil/_psutil_common.c:9:
In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:11:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/limits.h:21:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h:64:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/limits.h:8:2: error: architecture not supported
#error architecture not supported
^
In file included from psutil/_psutil_common.c:9:
In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:25:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:71:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h:27:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:33:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
#error architecture not supported
^
In file included from psutil/_psutil_common.c:9:
In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:25:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:71:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h:27:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:55:9: error: unknown type name β€˜__int64_t’
typedef __int64_t __darwin_blkcnt_t; /* total blocks /
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:56:9: error: unknown type name β€˜__int32_t’; did you mean β€˜__int128_t’?
typedef __int32_t __darwin_blksize_t; /
preferred block size /
^
note: β€˜__int128_t’ declared here
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:57:9: error: unknown type name β€˜__int32_t’; did you mean β€˜__int128_t’?
typedef __int32_t __darwin_dev_t; /
dev_t /
^
note: β€˜__int128_t’ declared here
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:60:9: error: unknown type name β€˜__uint32_t’; did you mean β€˜__uint128_t’?
typedef __uint32_t __darwin_gid_t; /
[???] process and group IDs /
^
note: β€˜__uint128_t’ declared here
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:61:9: error: unknown type name β€˜__uint32_t’; did you mean β€˜__uint128_t’?
typedef __uint32_t __darwin_id_t; /
[XSI] pid_t, uid_t, or gid_t*/
^
note: β€˜__uint128_t’ declared here
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:62:9: error: unknown type name β€˜__uint64_t’
typedef __uint64_t __darwin_ino64_t; /* [???] Used for 64 bit inodes /
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:68:9: error: unknown type name β€˜__darwin_natural_t’
typedef __darwin_natural_t __darwin_mach_port_name_t; /
Used by mach /
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:70:9: error: unknown type name β€˜__uint16_t’; did you mean β€˜__uint128_t’?
typedef __uint16_t __darwin_mode_t; /
[???] Some file attributes /
^
note: β€˜__uint128_t’ declared here
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:71:9: error: unknown type name β€˜__int64_t’
typedef __int64_t __darwin_off_t; /
[???] Used for file sizes /
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:72:9: error: unknown type name β€˜__int32_t’; did you mean β€˜__int128_t’?
typedef __int32_t __darwin_pid_t; /
[???] process and group IDs /
^
note: β€˜__int128_t’ declared here
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:73:9: error: unknown type name β€˜__uint32_t’; did you mean β€˜__uint128_t’?
typedef __uint32_t __darwin_sigset_t; /
[???] signal set /
^
note: β€˜__uint128_t’ declared here
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:74:9: error: unknown type name β€˜__int32_t’; did you mean β€˜__int128_t’?
typedef __int32_t __darwin_suseconds_t; /
[???] microseconds /
^
note: β€˜__int128_t’ declared here
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:75:9: error: unknown type name β€˜__uint32_t’; did you mean β€˜__uint128_t’?
typedef __uint32_t __darwin_uid_t; /
[???] user IDs /
^
note: β€˜__uint128_t’ declared here
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:76:9: error: unknown type name β€˜__uint32_t’; did you mean β€˜__uint128_t’?
typedef __uint32_t __darwin_useconds_t; /
[???] microseconds */
^
note: β€˜__uint128_t’ declared here
In file included from psutil/_psutil_common.c:9:
In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:25:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:71:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h:43:9: error: unknown type name β€˜__uint32_t’; did you mean β€˜__uint128_t’?
typedef __uint32_t __darwin_wctype_t;
^
note: β€˜__uint128_t’ declared here
In file included from psutil/_psutil_common.c:9:
In file included from /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h:25:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:75:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h:31:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
#error architecture not supported
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
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
Successfully built tornado json5
Failed to build psutil
ERROR: Could not build wheels for psutil, which is required to install pyproject.toml-based projects

At present, most open source projects cannot easily build for that architecture until there is ready, free access to basically unlimited build machines.

Also, it’s never entirely advisable to muck about with a system python installation for interactive computing.

With that in mind, I can recommend the conda-forge stack, where a group of volunteers have been doing the work of patching, etc. to get several thousand packages cross-compiled (including all of the jupyter stack, to my knowledge), with some heavyweights (qt) done β€œthe hard way,” built off-line, and uploaded manually.

You would still partially be testing these binaries with your environment, but it’s much more unlikely to break anything else on your machine.

Basically:

# environment.yml
name: my-jupyter-env
channels:
  - conda-forge
  - nodefaults
dependencies:
  - jupyterlab
  - python 3.10
  # - any-other-dependencies-from-conda-forge
  - pip
  # - pip:
  #   - any-other-dependencies-from-pip-if-you-must
  #   - and-all-bets-are-off-if-you-don't-have-xcode
  
  • mamba env update
  • source activate my-jupyter-env
  • try to do stuff
    • if you run into problems with a specific package, see if that problem already exists on http://github.com/conda-forge/<package-name>-feedstock
    • if there isn’t an issue, raising a (respectful) issue can’t hurt!
1 Like