Yelp/dumb-init

dumb-init 1.2.5.post1 fails to install on macOS with python 3.12.4 and poetry

verkaufer opened this issue · 2 comments

What

I am trying to install build a project that has dumb-init as a dependency. I am installing project dependencies using Poetry 1.8.3 and Python 3.12.4.

Any time I try installing dumb-init==1.2.5post1 I receive an error: Backend subprocess exited when trying to invoke build_wheel

Steps to reproduce

  1. Using poetry (or pip) add dumb-init==1.2.5post1 to your project requirements. E.g. pip install dumb-init

Expected Output

Package installs successfully

What actually happened

Poetry fails with the attached output

Expand to view Poetry output
Package operations: 1 install, 0 updates, 0 removals

  - Installing dumb-init (1.2.5.post1): Failed

  ChefBuildError

  Backend subprocess exited when trying to invoke build_wheel
  
  Traceback (most recent call last):
    File "/Users/davidg/Library/Application Support/pypoetry/venv/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in <module>
      main()
    File "/Users/davidg/Library/Application Support/pypoetry/venv/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 357, in main
      json_out["return_val"] = hook(**hook_input["kwargs"])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/Users/davidg/Library/Application Support/pypoetry/venv/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 271, in build_wheel
      return _build_backend().build_wheel(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/tmpsyzhmp5h/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 415, in build_wheel
      return self._build_with_temp_dir(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/tmpsyzhmp5h/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 397, in _build_with_temp_dir
      self.run_setup()
    File "/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/tmpsyzhmp5h/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 497, in run_setup
      super().run_setup(setup_script=setup_script)
    File "/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/tmpsyzhmp5h/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 313, in run_setup
      exec(code, locals())
    File "<string>", line 119, in <module>
    File "/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/tmpsyzhmp5h/.venv/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/tmpsyzhmp5h/.venv/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 171, in setup
      ok = dist.parse_command_line()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/tmpsyzhmp5h/.venv/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 478, in parse_command_line
      args = self._parse_command_opts(parser, args)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/tmpsyzhmp5h/.venv/lib/python3.12/site-packages/setuptools/dist.py", line 876, in _parse_command_opts
      nargs = _Distribution._parse_command_opts(self, parser, args)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/tmpsyzhmp5h/.venv/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 543, in _parse_command_opts
      if not issubclass(cmd_class, Command):
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  TypeError: issubclass() arg 1 must be a class
  

  at ~/Library/Application Support/pypoetry/venv/lib/python3.12/site-packages/poetry/installation/chef.py:164 in _prepare
      160│ 
      161│                 error = ChefBuildError("\n\n".join(message_parts))
      162│ 
      163│             if error is not None:
    → 164│                 raise error from None
      165│ 
      166│             return path
      167│ 
      168│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:

Note: This error originates from the build backend, and is likely not a problem with poetry but with dumb-init (1.2.5.post1) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "dumb-init (==1.2.5.post1)"'.

If I run the suggested pip wheel command, I receive a similar error

Toggle to view output
>> pip wheel --no-cache-dir --use-pep517 "dumb-init (==1.2.5.post1)"
Collecting dumb-init==1.2.5.post1
  Downloading dumb-init-1.2.5.post1.tar.gz (11 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
  ╰─> [51 lines of output]
      running dist_info
      creating /private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-tnwxz0x0/dumb_init.egg-info
      writing /private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-tnwxz0x0/dumb_init.egg-info/PKG-INFO
      writing dependency_links to /private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-tnwxz0x0/dumb_init.egg-info/dependency_links.txt
      writing top-level names to /private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-tnwxz0x0/dumb_init.egg-info/top_level.txt
      writing manifest file '/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-tnwxz0x0/dumb_init.egg-info/SOURCES.txt'
      reading manifest file '/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-tnwxz0x0/dumb_init.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file '/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-tnwxz0x0/dumb_init.egg-info/SOURCES.txt'
      creating '/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-tnwxz0x0/dumb_init-1.2.5.post1.dist-info'
      Traceback (most recent call last):
        File "/Users/davidg/Library/Caches/pypoetry/virtualenvs/project-Iq85kHZb-py3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/davidg/Library/Caches/pypoetry/virtualenvs/project-Iq85kHZb-py3.12/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/davidg/Library/Caches/pypoetry/virtualenvs/project-Iq85kHZb-py3.12/lib/python3.12/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/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 368, in prepare_metadata_for_build_wheel
          self.run_setup()
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 497, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 313, in run_setup
          exec(code, locals())
        File "<string>", line 119, in <module>
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 184, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
          dist.run_commands()
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 970, in run_commands
          self.run_command(cmd)
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 974, in run_command
          super().run_command(command)
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
          cmd_obj.run()
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/command/dist_info.py", line 97, in run
          bdist_wheel = self.get_finalized_command('bdist_wheel')
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 302, in get_finalized_command
          cmd_obj = self.distribution.get_command_obj(command, create)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-2txatq5p/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 863, in get_command_obj
          cmd_obj = self.command_obj[command] = klass(self)
                                                ^^^^^^^^^^^
      TypeError: 'NoneType' object is not callable
      [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.

System/Environment

Virtualenv
Python:         3.12.4
Implementation: CPython
Path:           /Users/davidg/Library/Caches/pypoetry/virtualenvs/authentik-Iq85kHZb-py3.12
Executable:     /Users/davidg/Library/Caches/pypoetry/virtualenvs/authentik-Iq85kHZb-py3.12/bin/python
Valid:          True

Base
Platform:   darwin
OS:         posix
Python:     3.12.4
Path:       /Users/davidg/.pyenv/versions/3.12.4
Executable: /Users/davidg/.pyenv/versions/3.12.4/bin/python3.12
  • Python was installed via pyenv
  • macOS version 14.5 (23F79) ARM
    • This also occurs on 12.5 on an x86 processor

Related issues

#276

dumb-init is not really supported on macos, the error indicates you're missing the wheel package (or a compatible version of setuptools)

Thanks for the quick reply! If I'm understanding correctly, we should not try installing this package on MacOS platforms even from PyPI?

If I upgrade setuptools and pip I also get the same error:

pip install -U pip setuptools
....
Successfully installed pip-24.1.2 setuptools-70.3.0
pip wheel --no-cache-dir --use-pep517 "dumb-init (==1.2.5.post1)"

 × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [51 lines of output]
      running dist_info
      creating /private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-pmwxy_w7/dumb_init.egg-info
      writing /private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-pmwxy_w7/dumb_init.egg-info/PKG-INFO
      writing dependency_links to /private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-pmwxy_w7/dumb_init.egg-info/dependency_links.txt
      writing top-level names to /private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-pmwxy_w7/dumb_init.egg-info/top_level.txt
      writing manifest file '/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-pmwxy_w7/dumb_init.egg-info/SOURCES.txt'
      reading manifest file '/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-pmwxy_w7/dumb_init.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file '/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-pmwxy_w7/dumb_init.egg-info/SOURCES.txt'
      creating '/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-modern-metadata-pmwxy_w7/dumb_init-1.2.5.post1.dist-info'
      Traceback (most recent call last):
        File "/Users/davidg/Library/Caches/pypoetry/virtualenvs/testdumbinit-iXhCqPLJ-py3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/davidg/Library/Caches/pypoetry/virtualenvs/testdumbinit-iXhCqPLJ-py3.12/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/davidg/Library/Caches/pypoetry/virtualenvs/testdumbinit-iXhCqPLJ-py3.12/lib/python3.12/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/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 368, in prepare_metadata_for_build_wheel
          self.run_setup()
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 497, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 313, in run_setup
          exec(code, locals())
        File "<string>", line 119, in <module>
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 184, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
          dist.run_commands()
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 970, in run_commands
          self.run_command(cmd)
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 974, in run_command
          super().run_command(command)
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
          cmd_obj.run()
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/command/dist_info.py", line 97, in run
          bdist_wheel = self.get_finalized_command('bdist_wheel')
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 302, in get_finalized_command
          cmd_obj = self.distribution.get_command_obj(command, create)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8f/hnfk14r133l30780pk9mkl4c0000gn/T/pip-build-env-hz1fp3sl/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 863, in get_command_obj
          cmd_obj = self.command_obj[command] = klass(self)
                                                ^^^^^^^^^^^
      TypeError: 'NoneType' object is not callable
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed