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

[cli-issue] Add to requirements: setuptools_scm must be v7.0.0 or lower #32

Open
karsmars opened this issue Dec 1, 2023 · 2 comments
Open
Labels

Comments

@karsmars
Copy link

karsmars commented Dec 1, 2023

** 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]

@karsmars karsmars added the new label Dec 1, 2023
@ggermankubrickgroup
Copy link

+1

@wheres-baldo
Copy link

did anyone happen to get around this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants