Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MacOS Installation Issues #34

Closed
rmarable opened this issue Oct 31, 2023 · 3 comments
Closed

MacOS Installation Issues #34

rmarable opened this issue Oct 31, 2023 · 3 comments

Comments

@rmarable
Copy link

Greetings,

We are running into issues installing biomage-utils on a M2 Mac running Ventura (macOS 13.6 - 22G120 with kernel version 22.6.0) and Python-3.11.6 managed by Homebrew.

Here is the output from a failed attempt. Please advise if there is any additional data we can provide.


❯ make install
==> Cleaning up...
    [✓]

==> Creating virtual environment...
    [✓]

==> Installing utility and dependencies...
Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (23.2.1)
Collecting pip
  Obtaining dependency information for pip from https://files.pythonhosted.org/packages/47/6a/453160888fab7c6a432a6e25f8afe6256d0d9f2cbd25971021da6491d899/pip-23.3.1-py3-none-any.whl.metadata
  Using cached pip-23.3.1-py3-none-any.whl.metadata (3.5 kB)
Using cached pip-23.3.1-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 23.2.1
    Uninstalling pip-23.2.1:
      Successfully uninstalled pip-23.2.1
Successfully installed pip-23.3.1
Obtaining file:///Users/rmarable/src/scicomp/biomage/biomage-utils
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Collecting anybase32==1.1.0 (from biomage-utils==0.0.1)
  Using cached anybase32-1.1.0.zip (3.4 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting blessed==1.19.1 (from biomage-utils==0.0.1)
  Using cached blessed-1.19.1-py2.py3-none-any.whl (58 kB)
Collecting boto3==1.17.93 (from biomage-utils==0.0.1)
  Using cached boto3-1.17.93-py2.py3-none-any.whl (131 kB)
Collecting botocore==1.20.93 (from biomage-utils==0.0.1)
  Using cached botocore-1.20.93-py2.py3-none-any.whl (7.6 MB)
Collecting biomage-programmatic-interface==0.0.39 (from biomage-utils==0.0.1)
  Using cached biomage_programmatic_interface-0.0.39-py3-none-any.whl (9.3 kB)
Collecting backoff==2.2.1 (from biomage-utils==0.0.1)
  Using cached backoff-2.2.1-py3-none-any.whl (15 kB)
Collecting certifi==2021.10.8 (from biomage-utils==0.0.1)
  Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting cffi==1.15.0 (from biomage-utils==0.0.1)
  Using cached cffi-1.15.0.tar.gz (484 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting cfn-flip==1.2.3 (from biomage-utils==0.0.1)
  Using cached cfn_flip-1.2.3.tar.gz (10 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting chardet==4.0.0 (from biomage-utils==0.0.1)
  Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting click==8.0.1 (from biomage-utils==0.0.1)
  Using cached click-8.0.1-py3-none-any.whl (97 kB)
Collecting deepdiff==5.5.0 (from biomage-utils==0.0.1)
  Using cached deepdiff-5.5.0-py3-none-any.whl (66 kB)
Collecting Deprecated==1.2.13 (from biomage-utils==0.0.1)
  Using cached Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
Collecting idna==2.10 (from biomage-utils==0.0.1)
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting inquirer==2.10.1 (from biomage-utils==0.0.1)
  Using cached inquirer-2.10.1-py3-none-any.whl (17 kB)
Collecting jmespath==0.10.0 (from biomage-utils==0.0.1)
  Using cached jmespath-0.10.0-py2.py3-none-any.whl (24 kB)
Collecting numpy==1.22.0 (from biomage-utils==0.0.1)
  Using cached numpy-1.22.0.zip (11.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting ordered-set==4.0.2 (from biomage-utils==0.0.1)
  Using cached ordered-set-4.0.2.tar.gz (10 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pandas==1.3.4 (from biomage-utils==0.0.1)
  Using cached pandas-1.3.4.tar.gz (4.7 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting prompt-tool-kit==1.0.14 (from biomage-utils==0.0.1)
  Using cached prompt_tool_kit-1.0.14-py3-none-any.whl (242 kB)
Collecting prompt-toolkit==1.0.14 (from biomage-utils==0.0.1)
  Using cached prompt_toolkit-1.0.14-py3-none-any.whl (248 kB)
Collecting pycparser==2.21 (from biomage-utils==0.0.1)
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting PyGithub==1.55 (from biomage-utils==0.0.1)
  Using cached PyGithub-1.55-py3-none-any.whl (291 kB)
Collecting Pygments==2.11.1 (from biomage-utils==0.0.1)
  Using cached Pygments-2.11.1-py3-none-any.whl (1.1 MB)
Collecting PyJWT==2.3.0 (from biomage-utils==0.0.1)
  Using cached PyJWT-2.3.0-py3-none-any.whl (16 kB)
Collecting PyNaCl==1.4.0 (from biomage-utils==0.0.1)
  Using cached PyNaCl-1.4.0.tar.gz (3.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting python-dateutil==2.8.2 (from biomage-utils==0.0.1)
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting python-editor==1.0.4 (from biomage-utils==0.0.1)
  Using cached python_editor-1.0.4-py3-none-any.whl (4.9 kB)
Collecting pytz==2021.3 (from biomage-utils==0.0.1)
  Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB)
Collecting random-name==0.1.1 (from biomage-utils==0.0.1)
  Using cached random_name-0.1.1.tar.gz (4.7 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting readchar==4.0.3 (from biomage-utils==0.0.1)
  Using cached readchar-4.0.3-py3-none-any.whl (8.4 kB)
Collecting regex==2021.11.10 (from biomage-utils==0.0.1)
  Using cached regex-2021.11.10.tar.gz (702 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting requests==2.25.1 (from biomage-utils==0.0.1)
  Using cached requests-2.25.1-py2.py3-none-any.whl (61 kB)
Collecting ruamel.yaml==0.17.21 (from biomage-utils==0.0.1)
  Using cached ruamel.yaml-0.17.21-py3-none-any.whl (109 kB)
Collecting ruamel.yaml.clib==0.2.7 (from biomage-utils==0.0.1)
  Using cached ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_13_0_arm64.whl.metadata (2.2 kB)
Collecting s3transfer==0.4.2 (from biomage-utils==0.0.1)
  Using cached s3transfer-0.4.2-py2.py3-none-any.whl (79 kB)
Collecting six==1.16.0 (from biomage-utils==0.0.1)
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting tabulate==0.9.0 (from biomage-utils==0.0.1)
  Using cached tabulate-0.9.0-py3-none-any.whl (35 kB)
Collecting urllib3==1.26.7 (from biomage-utils==0.0.1)
  Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
Collecting wcwidth==0.2.5 (from biomage-utils==0.0.1)
  Using cached wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Collecting wrapt==1.13.3 (from biomage-utils==0.0.1)
  Using cached wrapt-1.13.3.tar.gz (48 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [85 lines of output]
      Traceback (most recent call last):
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/expand.py", line 81, in __getattr__
          return next(
                 ^^^^^
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/expand.py", line 82, in <genexpr>
          ast.literal_eval(value)
        File "/opt/homebrew/Cellar/[email protected]/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ast.py", line 110, in literal_eval
          return _convert(node_or_string)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/homebrew/Cellar/[email protected]/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ast.py", line 109, in _convert
          return _convert_signed_num(node)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/homebrew/Cellar/[email protected]/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ast.py", line 83, in _convert_signed_num
          return _convert_num(node)
                 ^^^^^^^^^^^^^^^^^^
        File "/opt/homebrew/Cellar/[email protected]/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ast.py", line 74, in _convert_num
          _raise_malformed_node(node)
        File "/opt/homebrew/Cellar/[email protected]/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ast.py", line 71, in _raise_malformed_node
          raise ValueError(msg + f': {node!r}')
      ValueError: malformed node or string on line 2: <ast.Call object at 0x1010de620>

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/expand.py", line 193, in read_attr
          return getattr(StaticModule(module_name, spec), attr_name)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/expand.py", line 87, in __getattr__
          raise AttributeError(f"{self.name} has no attribute {attr}") from e
      AttributeError: wrapt has no attribute __version__

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "/Users/rmarable/src/scicomp/biomage/biomage-utils/venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/rmarable/src/scicomp/biomage/biomage-utils/venv/lib/python3.11/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/rmarable/src/scicomp/biomage/biomage-utils/venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
          return hook(metadata_directory, config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 396, in prepare_metadata_for_build_wheel
          self.run_setup()
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 507, in run_setup
          super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script)
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in run_setup
          exec(code, locals())
        File "<string>", line 41, in <module>
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 159, in setup
          dist.parse_config_files()
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 649, in parse_config_files
          setupcfg.parse_configuration(
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py", line 189, in parse_configuration
          meta.parse()
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py", line 500, in parse
          section_parser_method(section_options)
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py", line 475, in parse_section
          self[name] = value
          ~~~~^^^^^^
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py", line 293, in __setitem__
          parsed = self.parsers.get(option_name, lambda x: x)(value)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py", line 606, in _parse_version
          return expand.version(self._parse_attr(value, self.package_dir, self.root_dir))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py", line 417, in _parse_attr
          return expand.read_attr(attr_desc, package_dir, root_dir)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/expand.py", line 196, in read_attr
          module = _load_spec(spec, module_name)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-build-env-ynuh3zzh/overlay/lib/python3.11/site-packages/setuptools/config/expand.py", line 216, in _load_spec
          spec.loader.exec_module(module)  # type: ignore
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "<frozen importlib._bootstrap_external>", line 940, in exec_module
        File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-install-rxli4ixa/wrapt_1e7c9461e64f4d57816b0b1eb20a71d9/src/wrapt/__init__.py", line 10, in <module>
          from .decorators import (adapter_factory, AdapterFactory, decorator,
        File "/private/var/folders/qg/kdkb1cv92k9dyx577psp88bw0000gn/T/pip-install-rxli4ixa/wrapt_1e7c9461e64f4d57816b0b1eb20a71d9/src/wrapt/decorators.py", line 34, in <module>
          from inspect import ismethod, isclass, formatargspec
      ImportError: cannot import name 'formatargspec' from 'inspect' (/opt/homebrew/Cellar/[email protected]/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/inspect.py)
      [end of output]

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

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
make: *** [install] Error 1
@gerbeldo
Copy link
Contributor

gerbeldo commented Oct 31, 2023

The issue might be the python version. If I remember correctly, python 3.9.xx should work. I do not have access to an Apple Silicon mac to test though, sorry.

@gerbeldo
Copy link
Contributor

The issue is the wrapt package. The version we have locked can't be installed in python 3.11. Using a venv with 3.9 should solve it.

@rmarable
Copy link
Author

rmarable commented Nov 21, 2023

Hi German,

Thanks, using a venv with 3.9 worked as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants