setuptools_scm: `AttributeError: 'Version' object has no attribute 'release'` after upgrade to 6.1.0

We have jobs in CI that depend on the latest version of this extension and so as soon as 6.1.0 became available on PyPI we started hitting the following error:

Traceback (most recent call last):
  File "setup.py", line 150, in <module>
    setup(
  File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 144, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.8/distutils/core.py", line 108, in setup
    _setup_distribution = dist = klass(attrs)
  File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 447, in __init__
    _Distribution.__init__(self, {
  File "/usr/lib/python3.8/distutils/dist.py", line 292, in __init__
    self.finalize_options()
  File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 740, in finalize_options
    ep.load()(self)
  File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 747, in _finalize_setup_keywords
    ep.load()(self, ep.name, value)
  File "/home/circleci/project/.eggs/setuptools_scm-6.1.0-py3.8.egg/setuptools_scm/integration.py", line 26, in version_keyword
    dist.metadata.version = _get_version(config)
  File "/home/circleci/project/.eggs/setuptools_scm-6.1.0-py3.8.egg/setuptools_scm/__init__.py", line 188, in _get_version
    dump_version(
  File "/home/circleci/project/.eggs/setuptools_scm-6.1.0-py3.8.egg/setuptools_scm/__init__.py", line 94, in dump_version
    version_fields = parsed_version.release
AttributeError: 'Version' object has no attribute 'release'

Our setup.py has the following

    use_scm_version={"write_to": "ddtrace/_version.py"},
    setup_requires=["setuptools_scm[toml]>=4", "cython"],

and we also have

"packaging>=17.1",

in install_requires.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 4
  • Comments: 15 (10 by maintainers)

Commits related to this issue

Most upvoted comments

I’d suggest finding a way to retain compatibility with older setuptools as virtualenvs with older setuptools than you require are produced by default on every system I’ve tried.

Just dealt with a support ticket about this earlier today, so I wanted to share my findings upstream 🙂