I am trying to install cumulusci via pipx on my MacOS machine but I keep running into a fatal error related to pyyaml. Here is the command I am running:
pipx install cumulusci
And here is the error message I am receiving:
fatal error from pip prevented installation. Full pip output in file:
/Users/ana/.local/pipx/logs/cmd_2023-11-03_11.16.54_pip_errors.log
pip seemed to fail to build package:
pyyaml==6.0
Some possibly relevant errors from pip install:
error: subprocess-exited-with-error
AttributeError: cython_sources
Error installing cumulusci.
and here is the log file:
PIP STDOUT
----------
Collecting cumulusci
Using cached cumulusci-3.80.0-py3-none-any.whl.metadata (10 kB)
Collecting appdirs==1.4.4 (from cumulusci)
Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting authlib==1.2.0 (from cumulusci)
Using cached Authlib-1.2.0-py2.py3-none-any.whl (214 kB)
Collecting certifi==2022.12.7 (from cumulusci)
Using cached certifi-2022.12.7-py3-none-any.whl (155 kB)
Collecting cffi==1.15.1 (from cumulusci)
Using cached cffi-1.15.1.tar.gz (508 kB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting charset-normalizer==3.0.1 (from cumulusci)
Using cached charset_normalizer-3.0.1-py3-none-any.whl (45 kB)
Collecting click==8.1.3 (from cumulusci)
Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting cryptography==39.0.1 (from cumulusci)
Using cached cryptography-39.0.1-cp36-abi3-macosx_10_12_universal2.whl (5.4 MB)
Collecting defusedxml==0.7.1 (from cumulusci)
Using cached defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting docutils==0.16 (from cumulusci)
Using cached docutils-0.16-py2.py3-none-any.whl (548 kB)
Collecting faker==17.0.0 (from cumulusci)
Using cached Faker-17.0.0-py3-none-any.whl (1.7 MB)
Collecting fs==2.4.16 (from cumulusci)
Using cached fs-2.4.16-py2.py3-none-any.whl (135 kB)
Collecting github3-py==3.2.0 (from cumulusci)
Using cached github3.py-3.2.0-py2.py3-none-any.whl (152 kB)
Collecting greenlet==2.0.2 (from cumulusci)
Using cached greenlet-2.0.2.tar.gz (164 kB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting gvgen==1.0 (from cumulusci)
Using cached GvGen-1.0-py3-none-any.whl (8.0 kB)
Collecting idna==3.4 (from cumulusci)
Using cached idna-3.4-py3-none-any.whl (61 kB)
Collecting importlib-metadata==6.0.0 (from cumulusci)
Using cached importlib_metadata-6.0.0-py3-none-any.whl (21 kB)
Collecting jeepney==0.8.0 (from cumulusci)
Using cached jeepney-0.8.0-py3-none-any.whl (48 kB)
Collecting jinja2==3.1.2 (from cumulusci)
Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting keyring==23.0.1 (from cumulusci)
Using cached keyring-23.0.1-py3-none-any.whl (33 kB)
Collecting lxml==4.9.2 (from cumulusci)
Using cached lxml-4.9.2.tar.gz (3.7 MB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting markdown-it-py==2.1.0 (from cumulusci)
Using cached markdown_it_py-2.1.0-py3-none-any.whl (84 kB)
Collecting markupsafe==2.1.2 (from cumulusci)
Using cached MarkupSafe-2.1.2.tar.gz (19 kB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting mdurl==0.1.2 (from cumulusci)
Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Collecting natsort==8.2.0 (from cumulusci)
Using cached natsort-8.2.0-py3-none-any.whl (37 kB)
Collecting psutil==5.9.4 (from cumulusci)
Using cached psutil-5.9.4-cp38-abi3-macosx_11_0_arm64.whl (244 kB)
Collecting pycparser==2.21 (from cumulusci)
Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting pydantic==1.10.5 (from cumulusci)
Using cached pydantic-1.10.5-py3-none-any.whl (155 kB)
Collecting pygments==2.14.0 (from cumulusci)
Using cached Pygments-2.14.0-py3-none-any.whl (1.1 MB)
Collecting pyjwt==2.6.0 (from pyjwt[crypto]==2.6.0->cumulusci)
Using cached PyJWT-2.6.0-py3-none-any.whl (20 kB)
Collecting python-baseconv==1.2.2 (from cumulusci)
Using cached python-baseconv-1.2.2.tar.gz (4.9 kB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting python-dateutil==2.8.2 (from cumulusci)
Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting pytz==2022.7.1 (from cumulusci)
Using cached pytz-2022.7.1-py2.py3-none-any.whl (499 kB)
Collecting pyyaml==6.0 (from cumulusci)
Using cached PyYAML-6.0.tar.gz (124 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'
PIP STDERR
----------
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [54 lines of output]
running egg_info
writing lib/PyYAML.egg-info/PKG-INFO
writing dependency_links to lib/PyYAML.egg-info/dependency_links.txt
writing top-level names to lib/PyYAML.egg-info/top_level.txt
Traceback (most recent call last):
File "/Users/anaisemccrovitz/.local/pipx/shared/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/Users/anaisemccrovitz/.local/pipx/shared/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/anaisemccrovitz/.local/pipx/shared/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 355, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in _get_build_requires
self.run_setup()
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 341, in run_setup
exec(code, locals())
File "<string>", line 288, in <module>
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 989, in run_command
super().run_command(command)
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 318, in run
self.find_sources()
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 326, in find_sources
mm.run()
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 548, in run
self.add_defaults()
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 586, in add_defaults
sdist.add_defaults(self)
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/command/sdist.py", line 113, in add_defaults
super().add_defaults()
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
self._add_defaults_ext()
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext
self.filelist.extend(build_ext.get_source_files())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<string>", line 204, in get_source_files
File "/private/var/folders/zy/4nhzd9d93td0dv988fht71km0000gn/T/pip-build-env-ztayo75v/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
raise AttributeError(attr)
AttributeError: cython_sources
[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
I have tried downgrading pyyaml to version 5.3.1 but the error persists. I am currently using Python version 3.9.7 on my machine.