FedML-AI / FedML-AI/FedML

Failed to install FedML with `pip3` on M1 Mac due to `Getting requirements to build wheel did not run successfully`

Open
#790 3 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted question
Dominant language
Python
Stars
4.1k
Forks
765
PR merge metrics
No merged PRs in 30d

Description

I just tried installing FedML with `pip3` using `python3.10.10` from Homebrew on macOS 12.6, here is the full output:

```shell
$ pip3 install fedml
Collecting fedml
Using cached fedml-0.7.447-py2.py3-none-any.whl (918 kB)
Requirement already satisfied: PyYAML in /opt/homebrew/lib/python3.10/site-packages (from fedml) (6.0)
Requirement already satisfied: pandas in /opt/homebrew/lib/python3.10/site-packages (from fedml) (1.5.3)
Collecting uvicorn
Using cached uvicorn-0.20.0-py3-none-any.whl (56 kB)
Collecting fastapi==0.92.0
Using cached fastapi-0.92.0-py3-none-any.whl (56 kB)
Requirement already satisfied: matplotlib in /opt/homebrew/lib/python3.10/site-packages (from fedml) (3.7.0)
Requirement already satisfied: tqdm in /opt/homebrew/lib/python3.10/site-packages (from fedml) (4.64.1)
Collecting typing-extensions==4.4.0
Using cached typing_extensions-4.4.0-py3-none-any.whl (26 kB)
Collecting pynvml
Using cached pynvml-11.5.0-py3-none-any.whl (53 kB)
Collecting aiohttp>=3.8.1
Downloading aiohttp-3.8.4-cp310-cp310-macosx_11_0_arm64.whl (336 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 336.9/336.9 kB 393.7 kB/s eta 0:00:00
Collecting wandb==0.13.2
Using cached wandb-0.13.2-py2.py3-none-any.whl (1.8 MB)
Collecting eciespy
Using cached eciespy-0.3.13-py3-none-any.whl (11 kB)
Collecting ntplib
Downloading ntplib-0.4.0-py2.py3-none-any.whl (6.8 kB)
Requirement already satisfied: click in /opt/homebrew/lib/python3.10/site-packages (from fedml) (8.1.3)
Collecting networkx
Downloading networkx-3.0-py3-none-any.whl (2.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 3.5 MB/s eta 0:00:00
Collecting attrdict
Downloading attrdict-2.0.1-py2.py3-none-any.whl (9.9 kB)
Collecting python-rapidjson>=0.9.1
Downloading python-rapidjson-1.9.tar.gz (223 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 223.1/223.1 kB 6.5 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting multiprocess
Using cached multiprocess-0.70.14-py310-none-any.whl (134 kB)
Collecting wget
Using cached wget-3.2.zip (10 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in /opt/homebrew/lib/python3.10/site-packages (from fedml) (1.24.2)
Collecting httpx
Using cached httpx-0.23.3-py3-none-any.whl (71 kB)
Collecting redis
Downloading redis-4.5.1-py3-none-any.whl (238 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 238.5/238.5 kB 6.3 MB/s eta 0:00:00
Collecting gensim
Downloading gensim-4.3.0-cp310-cp310-macosx_10_9_universal2.whl (24.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.5/24.5 MB 4.8 MB/s eta 0:00:00
Collecting geventhttpclient<=2.0.2,>=1.4.4
Downloading geventhttpclient-2.0.2-cp310-cp310-macosx_11_0_arm64.whl (41 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.4/41.4 kB 974.4 kB/s eta 0:00:00
Collecting numpy
Using cached numpy-1.21.0.zip (10.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [76 lines of output]
:63: RuntimeWarning: NumPy 1.21.0 may not yet support Python 3.10.
Running from numpy source directory.
running egg_info
running build_src
build_src
creating numpy.egg-info
writing numpy.egg-info/PKG-INFO
writing dependency_links to numpy.egg-info/dependency_links.txt
writing entry points to numpy.egg-info/entry_points.txt
writing top-level names to numpy.egg-info/top_level.txt
writing manifest file 'numpy.egg-info/SOURCES.txt'
/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/egg_info.py:661: SetuptoolsDeprecationWarning: Custom 'build_py' does not implement 'get_data_files_without_manifest'.
Please extend command classes from setuptools instead of distutils.
warnings.warn(
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
Traceback (most recent call last):
File "/opt/homebrew/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
File "/opt/homebrew/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/opt/homebrew/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/build_meta.py", line 338, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/build_meta.py", line 320, in _get_build_requires
self.run_setup()
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/build_meta.py", line 484, in run_setup
super(_BuildMetaLegacyBackend,
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/build_meta.py", line 335, in run_setup
exec(code, locals())
File "", line 447, in
File "", line 439, in setup_package
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/__init__.py", line 108, in setup
return distutils.core.setup(**attrs)
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/dist.py", line 1221, in run_command
super().run_command(command)
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/private/var/folders/g4/csj76blj7wn1hpq049gv1wjw0000gn/T/pip-install-m0okm9y5/numpy_cb22649a4595424e8e91c8a547481339/numpy/distutils/command/egg_info.py", line 25, in run
_egg_info.run(self)
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 318, in run
self.find_sources()
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 326, in find_sources
mm.run()
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 570, in run
self.add_defaults()
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 608, in add_defaults
sdist.add_defaults(self)
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/sdist.py", line 107, in add_defaults
self._add_defaults_build_sub_commands()
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/sdist.py", line 127, in _add_defaults_build_sub_commands
self.filelist.extend(chain.from_iterable(files))
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 513, in extend
self.files.extend(filter(self._safe_path, paths))
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/sdist.py", line 126, in
files = (c.get_source_files() for c in cmds if hasattr(c, "get_source_files"))
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/sdist.py", line 125, in
cmds = (self.get_finalized_command(c) for c in missing_cmds)
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 305, in get_finalized_command
cmd_obj.ensure_finalized()
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 111, in ensure_finalized
self.finalize_options()
File "/private/var/folders/g4/csj76blj7wn1hpq049gv1wjw0000gn/T/pip-install-m0okm9y5/numpy_cb22649a4595424e8e91c8a547481339/numpy/distutils/command/config_compiler.py", line 69, in finalize_options
v = getattr(c, a)
File "/private/var/folders/g4/csj76blj7wn1hpq049gv1wjw0000gn/T/pip-build-env-eqzb_efe/overlay/lib/python3.10/site-packages/Cython/Distutils/old_build_ext.py", line 157, in __getattr__
return _build_ext.build_ext.__getattr__(self, name)
File "/opt/homebrew/Cellar/python@3.10/3.10.10_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
raise AttributeError(attr)
AttributeError: fcompiler. Did you mean: 'compiler'?
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
```

This seems to suggest that FedML is using NumPy 1.21.0 which does not support Python3.10.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.