Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-2067

[Python] "pip install" doesn't work from source tree

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 0.8.0
    • None
    • Python
    • None

    Description

      It seems that pip install . first copies the build dir into a temporary directory, and setuptools_scm then fails grabbing the git version from that location.

      AFAIR versioneer doesn't have that issue.

      $ pip install .
      Processing /home/antoine/arrow/python
          Complete output from command python setup.py egg_info:
          Traceback (most recent call last):
            File "<string>", line 1, in <module>
            File "/tmp/pip-v_mucrpj-build/setup.py", line 456, in <module>
              url="https://arrow.apache.org/"
            File "/home/antoine/miniconda3/envs/pyarrow/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
              return distutils.core.setup(**attrs)
            File "/home/antoine/miniconda3/envs/pyarrow/lib/python3.6/distutils/core.py", line 108, in setup
              _setup_distribution = dist = klass(attrs)
            File "/home/antoine/miniconda3/envs/pyarrow/lib/python3.6/site-packages/setuptools/dist.py", line 333, in __init__
              _Distribution.__init__(self, attrs)
            File "/home/antoine/miniconda3/envs/pyarrow/lib/python3.6/distutils/dist.py", line 281, in __init__
              self.finalize_options()
            File "/home/antoine/miniconda3/envs/pyarrow/lib/python3.6/site-packages/setuptools/dist.py", line 476, in finalize_options
              ep.load()(self, ep.name, value)
            File "/tmp/pip-v_mucrpj-build/.eggs/setuptools_scm-1.15.7-py3.6.egg/setuptools_scm/integration.py", line 22, in version_keyword
              dist.metadata.version = get_version(**value)
            File "/tmp/pip-v_mucrpj-build/.eggs/setuptools_scm-1.15.7-py3.6.egg/setuptools_scm/__init__.py", line 119, in get_version
              parsed_version = _do_parse(root, parse)
            File "/tmp/pip-v_mucrpj-build/.eggs/setuptools_scm-1.15.7-py3.6.egg/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-v_mucrpj-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
          
          ----------------------------------------
      Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-v_mucrpj-build/
      

      Attachments

        Issue Links

          Activity

            People

              apitrou Antoine Pitrou
              apitrou Antoine Pitrou
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: