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

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

Open
verkaufer opened this issue Jul 12, 2024 · 2 comments

Comments

@verkaufer
Copy link

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

@asottile
Copy link
Contributor

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

@verkaufer
Copy link
Author

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

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