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

Can't run on Python 3.11 with latest setuptools #9

Closed
stea-uw opened this issue Nov 20, 2023 · 3 comments
Closed

Can't run on Python 3.11 with latest setuptools #9

stea-uw opened this issue Nov 20, 2023 · 3 comments

Comments

@stea-uw
Copy link
Contributor

stea-uw commented Nov 20, 2023

See PR #10

Setuptools complains that it cannot install this package due to the "description" and "requires-python" being set dynamically.

Do we need to add description and requires-python to the "dynamic" field?

[INFO] Installing environment for https://github.com/ejba/pre-commit-maven.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('/Users/sweiss/.cache/pre-commit/repo50_ef5lu/py_env-python3.12/bin/python', '-mpip', 'install', '.')
return code: 1
stdout:
    Processing /Users/sweiss/.cache/pre-commit/repo50_ef5lu
      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'
stderr:
      error: subprocess-exited-with-error
      
      × Getting requirements to build wheel did not run successfully.
      │ exit code: 1
      ╰─> [121 lines of output]
          /private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `description` defined outside of `pyproject.toml` is ignored.
          !!
          
                  ********************************************************************************
                  The following seems to be defined outside of `pyproject.toml`:
          
                  `description = 'pre-commit hook that wraps maven'`
          
                  According to the spec (see the link below), however, setuptools CANNOT
                  consider this value unless `description` is listed as `dynamic`.
          
                  https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
          
                  To prevent this problem, you can list `description` under `dynamic` or alternatively
                  remove the `[project]` table from your file and rely entirely on other means of
                  configuration.
                  ********************************************************************************
          
          !!
            _handle_missing_dynamic(dist, project_table)
          /private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `requires-python` defined outside of `pyproject.toml` is ignored.
          !!
          
                  ********************************************************************************
                  The following seems to be defined outside of `pyproject.toml`:
          
                  `requires-python = <SpecifierSet('>=3.7')>`
          
                  According to the spec (see the link below), however, setuptools CANNOT
                  consider this value unless `requires-python` is listed as `dynamic`.
          
                  https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
          
                  To prevent this problem, you can list `requires-python` under `dynamic` or alternatively
                  remove the `[project]` table from your file and rely entirely on other means of
                  configuration.
                  ********************************************************************************
          
          !!
            _handle_missing_dynamic(dist, project_table)
          /private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `scripts` defined outside of `pyproject.toml` is ignored.
          !!
          
                  ********************************************************************************
                  The following seems to be defined outside of `pyproject.toml`:
          
                  `scripts = ['maven = pre_commit_maven.maven:main', 'maven-compile = pre_commit_maven.maven_compile:main', 'maven-test = pre_commit_maven.maven_test:main', 'maven-checkstyle = pre_commit_maven.maven_checkstyle:main', 'maven-spotless-check = pre_commit_maven.maven_spotless_check:main', 'maven-spotless-apply = pre_commit_maven.maven_spotless_apply:main']`
          
                  According to the spec (see the link below), however, setuptools CANNOT
                  consider this value unless `scripts` is listed as `dynamic`.
          
                  https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
          
                  To prevent this problem, you can list `scripts` under `dynamic` or alternatively
                  remove the `[project]` table from your file and rely entirely on other means of
                  configuration.
                  ********************************************************************************
          
          !!
            _handle_missing_dynamic(dist, project_table)
          /private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `dependencies` defined outside of `pyproject.toml` is ignored.
          !!
          
                  ********************************************************************************
                  The following seems to be defined outside of `pyproject.toml`:
          
                  `dependencies = ['ruamel.yaml>=0.15', 'toml']`
          
                  According to the spec (see the link below), however, setuptools CANNOT
                  consider this value unless `dependencies` is listed as `dynamic`.
          
                  https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
          
                  To prevent this problem, you can list `dependencies` under `dynamic` or alternatively
                  remove the `[project]` table from your file and rely entirely on other means of
                  configuration.
                  ********************************************************************************
          
          !!
            _handle_missing_dynamic(dist, project_table)
          Traceback (most recent call last):
            File "/Users/sweiss/.cache/pre-commit/repo50_ef5lu/py_env-python3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
              main()
            File "/Users/sweiss/.cache/pre-commit/repo50_ef5lu/py_env-python3.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/sweiss/.cache/pre-commit/repo50_ef5lu/py_env-python3.12/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/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
              return self._get_build_requires(config_settings, requirements=['wheel'])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            File "/private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
              self.run_setup()
            File "/private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
              exec(code, locals())
            File "<string>", line 6, in <module>
            File "/private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
              return distutils.core.setup(**attrs)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            File "/private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 159, in setup
              dist.parse_config_files()
            File "/Users/sweiss/.cache/pre-commit/repo50_ef5lu/py_env-python3.12/lib/python3.12/site-packages/_virtualenv.py", line 23, in parse_config_files
              result = old_parse_config_files(self, *args, **kwargs)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            File "/private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 627, in parse_config_files
              pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
            File "/private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/config/pyprojecttoml.py", line 67, in apply_configuration
              return _apply(dist, config, filepath)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            File "/private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 56, in apply
              _apply_project_table(dist, config, root_dir)
            File "/private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 82, in _apply_project_table
              corresp(dist, value, root_dir)
            File "/private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 211, in _python_requires
              _set_config(dist, "python_requires", SpecifierSet(val))
                                                   ^^^^^^^^^^^^^^^^^
            File "/private/var/folders/kb/0msf3btd5yz7_rc4k580k9k40000gn/T/pip-build-env-b1xie0gm/overlay/lib/python3.12/site-packages/setuptools/_vendor/packaging/specifiers.py", line 708, in __init__
              split_specifiers = [s.strip() for s in specifiers.split(",") if s.strip()]
                                                     ^^^^^^^^^^^^^^^^
          AttributeError: 'NoneType' object has no attribute 'split'
          [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.
Check the log at /Users/sweiss/.cache/pre-commit/pre-commit.log
@waynesun09
Copy link

This also happened to my env with latest python 3.11

@ejba
Copy link
Owner

ejba commented Nov 22, 2023

v0.3.4 has been released. Kudos @stea-uw!

@stea-uw
Copy link
Contributor Author

stea-uw commented Jan 11, 2024

Thanks, any time 😄

@stea-uw stea-uw closed this as completed Jan 11, 2024
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

3 participants