## Overview
I don't know which of my dependencies also depends on PyCG, I'm not… installing it directly. But yesterday, suddenly, an action which runs every 20 minutes and has been running for months started to fail because it could not install `PyCG==0.0.7`.
I tried Mac, Ubuntu, various versions of Python 3.9 and 3.10, and I can provide more logs if needed, but they all fail showing the same series of errors.
## Errors
Example: [log](https://github.com/jhu-bids/TermHub/actions/runs/6951731462/job/18914203442)
Notable highlights:
- `Getting requirements to build wheel: finished with status 'error'`
- `KeyError: 'text'`
- Several deprecation warnings
<details><summary>Log from when it starts to install PyCG</summary>
<p>
Collecting PyCG==0.0.7
Downloading PyCG-0.0.7.tar.gz (34 kB)
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'
error: subprocess-exited-with-error
Ă— Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [127 lines of output]
/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/dist.py:472: SetuptoolsDeprecationWarning: Invalid dash-separated options
!!
********************************************************************************
Usage of dash-separated 'description-file' will not be supported in future
versions. Please use the underscore name 'description_file' instead.
By 2024-Sep-26, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
********************************************************************************
!!
opt = self.warn_dash_deprecation(opt, section)
/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `license` defined outside of `pyproject.toml` is ignored.
!!
********************************************************************************
The following seems to be defined outside of `pyproject.toml`:
`license = 'Apache Software License'`
According to the spec (see the link below), however, setuptools CANNOT
consider this value unless `license` is listed as `dynamic`.
https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
To prevent this problem, you can list `license` 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/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `authors` defined outside of `pyproject.toml` is ignored.
!!
********************************************************************************
The following seems to be defined outside of `pyproject.toml`:
`authors = 'Vitalis Salis'`
According to the spec (see the link below), however, setuptools CANNOT
consider this value unless `authors` is listed as `dynamic`.
https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
To prevent this problem, you can list `authors` 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/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `classifiers` defined outside of `pyproject.toml` is ignored.
!!
********************************************************************************
The following seems to be defined outside of `pyproject.toml`:
`classifiers = ['License :: OSI Approved :: Apache Software License', 'Programming Language :: Python :: 3']`
According to the spec (see the link below), however, setuptools CANNOT
consider this value unless `classifiers` is listed as `dynamic`.
https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
To prevent this problem, you can list `classifiers` 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/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/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 = ['pycg=pycg.__main__: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)
Traceback (most recent call last):
File "/Users/runner/hostedtoolcache/Python/3.9.7/x64/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/Users/runner/hostedtoolcache/Python/3.9.7/x64/lib/python3.9/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/runner/hostedtoolcache/Python/3.9.7/x64/lib/python3.9/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/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/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/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
self.run_setup()
File "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 480, in run_setup
super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script)
File "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 311, in run_setup
exec(code, locals())
File "<string>", line 61, in <module>
File "<string>", line 35, in setup_package
File "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
File "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 159, in setup
dist.parse_config_files()
File "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 627, in parse_config_files
pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
File "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/config/pyprojecttoml.py", line 67, in apply_configuration
return _apply(dist, config, filepath)
File "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 56, in apply
_apply_project_table(dist, config, root_dir)
File "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 82, in _apply_project_table
corresp(dist, value, root_dir)
File "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-ct_b_jty/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 183, in _license
_set_config(dist, "license", val["text"])
KeyError: 'text'
[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.
Error: Process completed with exit code 1.
</p>
</details>
## Additional information
My actions failed on `PyCG==0.0.7` with the following setups:
1. Ubuntu 22.04.3, Python 3.9.18
2. MacOS 12.7.1, Python 3.9.7
3. MacOS 12.7.1, Python 3.10.13
I believe all above setups were using the following versions:
- `pip==23.3.1`
- `wheel==0.41.3`
- `setuptools==69.0.2`
My action succeeded after installing `PyCG==0.0.6` with MacOS 12.7.1, Python 3.9.7 setup.
I had no problems installing on `PyCG==0.0.7` on my local Macbook running MacOS 12.6.5, using Python 3.10.4.
Original issue in my repository:
- https://github.com/jhu-bids/TermHub/issues/627