[cli-issue] Add to requirements: `setuptools_scm` must be v7.0.0 or lower
karsmars opened this issue · comments
** CLI Version **
Rivery CLI, version 0.4.0
Describe the bug
Upgrading to setuptools_scm>=8.x
causes pip install rivery-cli
to fail. This is two-part: setuptools_scm>=8.x
requires setuptools>=61
. However, the requirements.txt
asks for setuptools~=57.0.0
.
If you upgrade both packages, you instead get an error with installing jsonschema-extended
. It requires the older versions of setuptools
and setuptools_scm
. The error messages are below, but I wasn't able to get jsonschema-extended
to install with the upgraded versions of setuptools
and setuptools_scm
.
To Reproduce
Simply upgrade your versions of setuptools
and setuptools_scm
to latest versions and try to reinstall rivery-cli
. Use pip install --ignore-installed --no-cache-dir rivery-cli
so the cached versions of packages are ignored.
Expected behavior
The fix is either to require setuptools_scm<=7.0.0
and setuptools==57.0.0
, or to find a way to install rivery-cli
with the most recent versions of these packages. Is jsonschema-extended
even necessary to have in requirements.txt
? Perhaps remove it.
OS
OS: Ventura 13.3, Apple Silicon Chip (M2 Pro).
** Python Version **
Python 3.9.18
Miniconda 3 virtual environment
>>> pip install rivery-cli
Collecting rivery-cli
Using cached rivery_cli-0.4.0-py3-none-any.whl (36 kB)
Collecting click>=7.1.2 (from rivery-cli)
Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting jsonschema>=3.2.0 (from rivery-cli)
Using cached jsonschema-4.20.0-py3-none-any.whl.metadata (8.1 kB)
Collecting jsonschema-extended>=0.6 (from rivery-cli)
Using cached jsonschema-extended-0.6.tar.gz (117 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [30 lines of output]
/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/__init__.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!
********************************************************************************
Requirements should be satisfied by a PEP 517 installer.
If you are using pip, you can try `pip install --use-pep517`.
********************************************************************************
!!
dist.fetch_build_eggs(dist.setup_requires)
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-install-uwezsxuz/jsonschema-extended_20526dffc79b48b0b4597a82aeb1a564/setup.py", line 25, in <module>
setup(
File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 147, in setup
_setup_distribution = dist = klass(attrs)
File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/dist.py", line 303, in __init__
_Distribution.__init__(self, dist_attrs)
File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 283, in __init__
self.finalize_options()
File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/dist.py", line 654, in finalize_options
ep(self)
File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/dist.py", line 674, in _finalize_setup_keywords
ep.load()(self, [ep.name](http://ep.name/), value)
File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-install-uwezsxuz/jsonschema-extended_20526dffc79b48b0b4597a82aeb1a564/.eggs/setuptools_scm-8.0.4-py3.9.egg/setuptools_scm/_integration/setuptools.py", line 80, in version_keyword
assert isinstance(value, dict), "version_keyword expects a dict or True"
AssertionError: version_keyword expects a dict or True
[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.
>>> pip install --use-pep517 rivery-cli
Collecting rivery-cli
Using cached rivery_cli-0.4.0-py3-none-any.whl (36 kB)
Collecting click>=7.1.2 (from rivery-cli)
Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting jsonschema>=3.2.0 (from rivery-cli)
Using cached jsonschema-4.20.0-py3-none-any.whl.metadata (8.1 kB)
Collecting jsonschema-extended>=0.6 (from rivery-cli)
Using cached jsonschema-extended-0.6.tar.gz (117 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [29 lines of output]
Traceback (most recent call last):
File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/Users/spencerhalverson/miniconda3/envs/rivery/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/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/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/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 366, in prepare_metadata_for_build_wheel
self.run_setup()
File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/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/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 311, in run_setup
exec(code, locals())
File "<string>", line 25, in <module>
File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 147, in setup
_setup_distribution = dist = klass(attrs)
File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 303, in __init__
_Distribution.__init__(self, dist_attrs)
File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 283, in __init__
self.finalize_options()
File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 654, in finalize_options
ep(self)
File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 674, in _finalize_setup_keywords
ep.load()(self, [ep.name](http://ep.name/), value)
File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/normal/lib/python3.9/site-packages/setuptools_scm/_integration/setuptools.py", line 80, in version_keyword
assert isinstance(value, dict), "version_keyword expects a dict or True"
AssertionError: version_keyword expects a dict or True
[end of output]
+1