pypa / setuptools_scm

the blessed package to manage your versions by scm tags

Home Page:https://setuptools-scm.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AttributeError: module 'setuptools_scm.integration' has no attribute 'infer_version'

qiaouchicago opened this issue · comments

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [32 lines of output]
      /builds/cBLrNXVx/2/nci-gdc/development/gdcapi/.tox/py/lib/python3.8/site-packages/setuptools/__init__.py:84: _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)
      /builds/cBLrNXVx/2/nci-gdc/development/gdcapi/.tox/py/lib/python3.8/site-packages/setuptools/installer.py:44: UserWarning: Module setuptools_scm was already imported from /builds/cBLrNXVx/2/nci-gdc/development/gdcapi/.tox/py/lib/python3.8/site-packages/setuptools_scm/__init__.py, but /tmp/pip-install-vbpplszz/gdcmodels_af3575d4266346e5a1b7b51be467af38/.eggs/setuptools_scm-5.0.2-py3.8.egg is being added to sys.path
        pkg_resources.working_set.add(dist, replace=True)
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-vbpplszz/gdcmodels_af3575d4266346e5a1b7b51be467af38/setup.py", line 3, in <module>
          setup(
        File "/builds/cBLrNXVx/2/nci-gdc/development/gdcapi/.tox/py/lib/python3.8/site-packages/setuptools/__init__.py", line 107, in setup
          return distutils.core.setup(**attrs)
        File "/builds/cBLrNXVx/2/nci-gdc/development/gdcapi/.tox/py/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 147, in setup
          _setup_distribution = dist = klass(attrs)
        File "/builds/cBLrNXVx/2/nci-gdc/development/gdcapi/.tox/py/lib/python3.8/site-packages/setuptools/dist.py", line 486, in __init__
          _Distribution.__init__(
        File "/builds/cBLrNXVx/2/nci-gdc/development/gdcapi/.tox/py/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 283, in __init__
          self.finalize_options()
        File "/builds/cBLrNXVx/2/nci-gdc/development/gdcapi/.tox/py/lib/python3.8/site-packages/setuptools/dist.py", line 924, in finalize_options
          for ep in sorted(loaded, key=by_order):
        File "/builds/cBLrNXVx/2/nci-gdc/development/gdcapi/.tox/py/lib/python3.8/site-packages/setuptools/dist.py", line 923, in <lambda>
          loaded = map(lambda e: e.load(), filtered)
        File "/builds/cBLrNXVx/2/nci-gdc/development/gdcapi/.tox/py/lib/python3.8/site-packages/setuptools/_vendor/importlib_metadata/__init__.py", line 210, in load
          return functools.reduce(getattr, attrs, module)
      AttributeError: module 'setuptools_scm.integration' has no attribute 'infer_version'
      [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.

Run into this version with setuptools==68.0.0
Down grade setuptools_scm<8 solved the error.

An internal link for the record:

https://gitlab.datacommons.io/nci-gdc/development/gdcapi/-/jobs/222656

At first glance this looks like a broken python setup

Most likely there's a older version of setuptools-scm installed

As egg based install is completely broken as well I'm not Sure how to support things

I strongly recommend to use pep-517/518 at least

closing as bad build setup due to lack of further information

commented

I have the same problem also with pep517:

 * Package:    dev-python/setuptools-scm-8.0.4:0
 * Repository: gentoo
 * Maintainer: python@gentoo.org
 * USE:        abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_10
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
 * Build system packages:
 *   dev-python/gpep517            : 15
 *   dev-python/installer          : 0.7.0
 * python3_10: running distutils-r1_run_phase distutils-r1_python_compile
 *   Building the wheel for setuptools-scm-8.0.4 via _own_version_helper:build_meta
python3.10 -m gpep517 build-wheel --prefix=/usr --backend _own_version_helper:build_meta --output-fd 3 --wheel-dir /var/tmp/portage/dev-python/setuptools-scm-8.0.4/work/setuptools-scm-8.0.4-
python3_10/wheel
2024-01-31 10:55:40,855 gpep517 INFO Building wheel via backend _own_version_helper:build_meta
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3.10/site-packages/gpep517/__main__.py", line 429, in <module>
    sys.exit(main())
  File "/usr/lib/python3.10/site-packages/gpep517/__main__.py", line 425, in main
    return func(args)
  File "/usr/lib/python3.10/site-packages/gpep517/__main__.py", line 215, in build_wheel
    print(build_wheel_impl(args, args.wheel_dir), file=out)
  File "/usr/lib/python3.10/site-packages/gpep517/__main__.py", line 207, in build_wheel_impl
    wheel_name = backend.build_wheel(str(wheel_dir), args.config_json)
  File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 404, in build_wheel
    return self._build_with_temp_dir(
  File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 389, in _build_with_temp_dir
    self.run_setup()
  File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 311, in run_setup
    exec(code, locals())
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line 103, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 147, in setup
    _setup_distribution = dist = klass(attrs)
  File "/usr/lib/python3.10/site-packages/setuptools/dist.py", line 303, in __init__
    _Distribution.__init__(self, dist_attrs)
  File "/usr/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 283, in __init__
    self.finalize_options()
  File "/usr/lib/python3.10/site-packages/setuptools/dist.py", line 653, in finalize_options
    for ep in sorted(loaded, key=by_order):
  File "/usr/lib/python3.10/site-packages/setuptools/dist.py", line 652, in <lambda>
    loaded = map(lambda e: e.load(), filtered)
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 173, in load
    return functools.reduce(getattr, attrs, module)
AttributeError: module 'setuptools_scm.integration' has no attribute 'infer_version'

Here are some more information that may help future users:

The repo we are having this problem is using some very old dependencies.
To make it work, I think you have 2 options:

  1. find the dependency and update it to use PEP 517
  2. use setuptools_scm<6(or <8?).

if you are using tox, make sure you add setuptools_scm<8 in tox.ini for deps

Again in FreeBSD: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277472

@RonnyPfannschmidt May you please reopen since the error is now occurring in a clean chroot?

Define clean chroot

The linked issue seems to trigger in previous installation