Skip to content

"Failed building wheel for black" after upgrade to python 3.10 #2722

@jimmycrequer

Description

@jimmycrequer

Describe the bug

After upgrading python to 3.10, I get the an error building black in pre-commit.

To Reproduce

$ pre-commit run black
[INFO] Installing environment for https://github.com/psf/black.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('/home/jcrequer/Documents/workspace/GOunite/v3/venv/bin/python', '-mpip', 'install', '.')
return code: 1
expected return code: 0
stdout:
    Processing /home/jcrequer/.cache/pre-commit/repocs0zwaqr
      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 'done'
      Preparing metadata (pyproject.toml): started
      Preparing metadata (pyproject.toml): finished with status 'done'
    Requirement already satisfied: typing-extensions>=3.10.0.0 in /home/jcrequer/Documents/workspace/GOunite/v3/venv/lib/python3.10/site-packages (from black==0.1.dev1+gf1d4e74) (4.0.1)
    Requirement already satisfied: click>=7.1.2 in /home/jcrequer/Documents/workspace/GOunite/v3/venv/lib/python3.10/site-packages (from black==0.1.dev1+gf1d4e74) (8.0.3)
    Requirement already satisfied: tomli<2.0.0,>=0.2.6 in /home/jcrequer/Documents/workspace/GOunite/v3/venv/lib/python3.10/site-packages (from black==0.1.dev1+gf1d4e74) (1.2.3)
    Requirement already satisfied: platformdirs>=2 in /home/jcrequer/Documents/workspace/GOunite/v3/venv/lib/python3.10/site-packages (from black==0.1.dev1+gf1d4e74) (2.4.0)
    Requirement already satisfied: pathspec<1,>=0.9.0 in /home/jcrequer/Documents/workspace/GOunite/v3/venv/lib/python3.10/site-packages (from black==0.1.dev1+gf1d4e74) (0.9.0)
    Requirement already satisfied: mypy-extensions>=0.4.3 in /home/jcrequer/Documents/workspace/GOunite/v3/venv/lib/python3.10/site-packages (from black==0.1.dev1+gf1d4e74) (0.4.3)
    Building wheels for collected packages: black
      Building wheel for black (pyproject.toml): started
      Building wheel for black (pyproject.toml): finished with status 'error'
    Failed to build black
    
stderr:
      ERROR: Command errored out with exit status 1:
       command: /home/jcrequer/Documents/workspace/GOunite/v3/venv/bin/python /home/jcrequer/Documents/workspace/GOunite/v3/venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpj7skna3e
           cwd: /home/jcrequer/.cache/pre-commit/repocs0zwaqr
      Complete output (55 lines):
      /tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools_scm/git.py:94: UserWarning: "/home/jcrequer/.cache/pre-commit/repocs0zwaqr" is shallow and may cause errors
        warnings.warn(f'"{wd.path}" is shallow and may cause errors')
      running bdist_wheel
      running build
      running build_py
      copying src/_black_version.py -> build/lib
      running install
      Traceback (most recent call last):
        File "/home/jcrequer/Documents/workspace/GOunite/v3/venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/home/jcrequer/Documents/workspace/GOunite/v3/venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/jcrequer/Documents/workspace/GOunite/v3/venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 261, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 230, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 215, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 158, in run_setup
          exec(compile(code, __file__, 'exec'), locals())
        File "setup.py", line 73, in <module>
          setup(
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/__init__.py", line 153, in setup
          return distutils.core.setup(**attrs)
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 148, in setup
          return run_commands(dist)
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 335, in run
          self.run_command('install')
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 985, in run_command
          cmd_obj.ensure_finalized()
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 107, in ensure_finalized
          self.finalize_options()
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/command/install.py", line 45, in finalize_options
          orig.install.finalize_options(self)
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/install.py", line 366, in finalize_options
          self.finalize_unix()
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/install.py", line 540, in finalize_unix
          self.select_scheme("posix_prefix")
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/install.py", line 565, in select_scheme
          _select_scheme(self, name)
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/install.py", line 127, in _select_scheme
          vars(ob).update(_remove_set(ob, _scheme_attrs(_resolve_scheme(name))))
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/install.py", line 153, in _scheme_attrs
          return {
        File "/tmp/pip-build-env-mg2slu91/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/install.py", line 154, in <dictcomp>
          f'install_{key}': scheme[key]
      KeyError: 'headers'
      ----------------------------------------
      ERROR: Failed building wheel for black
    ERROR: Could not build wheels for black, which is required to install pyproject.toml-based projects

Environment

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
Codename:       focal

$ black --version
black, 21.12b0 (compiled: no)

Additional context

$ pre-commit --version
pre-commit 2.16.0

pre-commit configuration excerpt

  - repo: https://github.com/psf/black
    rev: 21.12b0
    hooks:
      - id: black
        language_version: python3.10

Metadata

Metadata

Assignees

No one assigned

    Labels

    C: integrationsEditor plugins and other integrationsC: packagingInstallation and packaging of BlackT: bugSomething isn't working
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions