pythonpytestxdistpytest-xdistsetuptools-scm

pytest-xdist: LookupError: setuptools-scm was unable to detect version


When installing pytest-xdist, I'm getting this error:

Collecting pytest-xdist>=1.15.0
  Downloading https://company.com/pypi/packages/dc/b2/a59db3ef996b93c3ef35dbbc33557a71ef67a6839d94a52c88eeb1086002/pytest-xdist-1.15.0.tar.gz (87kB)
    100% |████████████████████████████████| 92kB 70.2MB/s
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-vyEgO5/pytest-xdist/setup.py", line 37, in <module>
        'Programming Language :: Python :: 3',
      File "/usr/lib/python2.7/distutils/core.py", line 111, in setup
        _setup_distribution = dist = klass(attrs)
      File "/home/company/package_name/env/local/lib/python2.7/site-packages/setuptools/dist.py", line 318, in __init__
        _Distribution.__init__(self, attrs)
      File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
        self.finalize_options()
      File "/home/company/package_name/env/local/lib/python2.7/site-packages/setuptools/dist.py", line 376, in finalize_options
        ep.load()(self, ep.name, value)
      File "build/bdist.linux-x86_64/egg/setuptools_scm/integration.py", line 21, in version_keyword
      File "build/bdist.linux-x86_64/egg/setuptools_scm/__init__.py", line 118, in get_version
      File "build/bdist.linux-x86_64/egg/setuptools_scm/__init__.py", line 96, in _do_parse
    LookupError: setuptools-scm was unable to detect version for '/tmp/pip-build-vyEgO5/pytest-xdist'.

    Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.

    For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-vyEgO5/pytest-xdist/

I was able to install pytest-xdist successfully before, but I'm not sure what changed :(


Solution

  • It looks like you're hitting https://github.com/pypa/setuptools_scm/issues/164. As a workaround you can pin setuptools-scm to the previous version in your requirements.txt like so:

    setuptools_scm == 1.15.0
    

    Edit: The issue has been fixed upstream and a new version of setuptools-scm has been released (1.15.4). You should not see this issue anymore, even without pinning the version.