setuptools_scm: errors with conda build

Hello, I created a recipe for a project and I’m using setuptools_scm. For this project my source section of my recipe is like:

source:
  git_tag: my-branch
  git_url: PATH-to-git.git

my script section is:

  script:
    - python -m pip install --no-deps --ignore-installed src/pythonKarabo

where is located my setup.py

When I try to build that using conda build I’m facing this error:

    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-mmcl8gq4-build/setup.py", line 72, in <module>
        'TestDevice=karabo.middlelayer_api.tests.bounddevice:TestDevice'
      File "/home/trevisan/miniconda3/conda-bld/python-karabo_1531408265571/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.6/site-packages/setuptools/__init__.py", line 131, in setup
        return distutils.core.setup(**attrs)
      File "/home/trevisan/miniconda3/conda-bld/python-karabo_1531408265571/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.6/distutils/core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "/home/trevisan/miniconda3/conda-bld/python-karabo_1531408265571/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.6/site-packages/setuptools/dist.py", line 370, in __init__
        k: v for k, v in attrs.items()
      File "/home/trevisan/miniconda3/conda-bld/python-karabo_1531408265571/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.6/distutils/dist.py", line 281, in __init__
        self.finalize_options()
      File "/home/trevisan/miniconda3/conda-bld/python-karabo_1531408265571/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.6/site-packages/setuptools/dist.py", line 529, in finalize_options
        ep.load()(self, ep.name, value)
      File "/home/trevisan/miniconda3/conda-bld/python-karabo_1531408265571/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.6/site-packages/setuptools_scm/integration.py", line 22, in version_keyword
        dist.metadata.version = get_version(**value)
      File "/home/trevisan/miniconda3/conda-bld/python-karabo_1531408265571/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.6/site-packages/setuptools_scm/__init__.py", line 119, in get_version
        parsed_version = _do_parse(root, parse)
      File "/home/trevisan/miniconda3/conda-bld/python-karabo_1531408265571/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.6/site-packages/setuptools_scm/__init__.py", line 97, in _do_parse
        "use git+https://github.com/user/proj.git#egg=proj" % root)

   LookupError: setuptools-scm was unable to detect version for '/tmp/pip-mmcl8gq4-build'.
    
    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

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 23 (12 by maintainers)

Most upvoted comments

For reference, this issue was the essential hint for solving setuptools_scm, setuptools_scm_git_archive from a Gitub-release for conda-forge. To capture Windows builds, the wildcard dist/*whl won’t do:

https://github.com/conda-forge/parcels-feedstock/blob/a57c414d5213415e442048b6ade683015ca3c951/recipe/meta.yaml#L17_L18

The problem is with pip and not with setuptools_scm. Thanks for help me!

The discussion helped me to do an workaround, so, it’s working now. 😃

@marcelotrevisani no - pip install dist/*.whl

pip does currently not correctly support python projects in subdirs of git repos, i pinged @dstufft on irc and will take a look at working details out

Are you using which pip version? Try <10, pip 10 introduced a new build isolation feature which I’m not sure works with conda quite yet.