accumulation_tree icon indicating copy to clipboard operation
accumulation_tree copied to clipboard

Add Wheel

Open hmc-cs-mdrissi opened this issue 4 years ago • 1 comments

Summary

There's currently two engineers I work with having trouble installing a library because of accumulation tree build error. The root cause is probably something about their environment, but searching has found me little useful and difficult to debug when I can't locally reproduce it. It'd be helpful if this package included a wheel in releases to make it easier to install.

The error message they have is,

Running command python setup.py egg_info
    running egg_info
    creating /private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-pip-egg-info-r_n92m9w/accumulation_tree.egg-info
    writing /private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-pip-egg-info-r_n92m9w/accumulation_tree.egg-info/PKG-INFO
    writing dependency_links to /private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-pip-egg-info-r_n92m9w/accumulation_tree.egg-info/dependency_links.txt
    writing top-level names to /private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-pip-egg-info-r_n92m9w/accumulation_tree.egg-info/top_level.txt
    writing manifest file '/private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-pip-egg-info-r_n92m9w/accumulation_tree.egg-info/SOURCES.txt'
    reading manifest file '/private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-pip-egg-info-r_n92m9w/accumulation_tree.egg-info/SOURCES.txt'
    writing manifest file '/private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-pip-egg-info-r_n92m9w/accumulation_tree.egg-info/SOURCES.txt'
  Running command /Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/bin/python3.8 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-install-7deytqi5/accumulation-tree_9d95b6baa0994cfbbce2c8813e96ccc2/setup.py'"'"'; __file__='"'"'/private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-install-7deytqi5/accumulation-tree_9d95b6baa0994cfbbce2c8813e96ccc2/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-wheel-d1ur5c6f
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-install-7deytqi5/accumulation-tree_9d95b6baa0994cfbbce2c8813e96ccc2/setup.py", line 4, in <module>
      setup(
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/setuptools/__init__.py", line 152, in setup
      _install_setup_requires(attrs)
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/setuptools/__init__.py", line 147, in _install_setup_requires
      dist.fetch_build_eggs(dist.setup_requires)
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/setuptools/dist.py", line 806, in fetch_build_eggs
      resolved_dists = pkg_resources.working_set.resolve(
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/pkg_resources/__init__.py", line 766, in resolve
      dist = best[req.key] = env.best_match(
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1051, in best_match
      return self.obtain(req, installer)
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1063, in obtain
      return installer(requirement)
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/setuptools/dist.py", line 877, in fetch_build_egg
      return fetch_build_egg(self, req)
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/setuptools/installer.py", line 80, in fetch_build_egg
      wheel.install_as_egg(dist_location)
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/setuptools/wheel.py", line 95, in install_as_egg
      self._install_as_egg(destination_eggdir, zf)
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/setuptools/wheel.py", line 103, in _install_as_egg
      self._convert_metadata(zf, destination_eggdir, dist_info, egg_info)
    File "/Users/abarnwal/.pyenv/versions/3.8.7/envs/barista/lib/python3.8/site-packages/setuptools/wheel.py", line 124, in _convert_metadata
      os.mkdir(destination_eggdir)
  FileExistsError: [Errno 17] File exists: '/private/var/folders/vz/cl541ty950s550dfgt042mkh0000gp/T/pip-install-7deytqi5/accumulation-tree_9d95b6baa0994cfbbce2c8813e96ccc2/.eggs/Cython-0.29.24-py3.8-macosx-11.6-x86_64.egg'
  ERROR: Failed building wheel for accumulation-tree

Solving the specific error would be nice, but I think wheel is a better solution then debugging build errors like this for each weird environment.

hmc-cs-mdrissi avatar Sep 30 '21 04:09 hmc-cs-mdrissi

I'm also having this issue. @hmc-cs-mdrissi were you able to work around it?

cjackson avatar Oct 25 '21 20:10 cjackson

Also ran into this on a MacOS machine (Python 3.11 & tdigest v0.5.2.2). It looks similar to cython#5568 where the root cause is setup_requires in setup.py

If publishing a wheel isn't an option, the recommendation from this comment should resolve the issue: https://github.com/cython/cython/issues/5568#issuecomment-2106354787

jumbosushi avatar Sep 25 '24 22:09 jumbosushi

Pushed 0.6.4 with the suggestion from @jumbosushi . Thank you!

tkluck avatar Sep 26 '24 21:09 tkluck