Add Wheel
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.
I'm also having this issue. @hmc-cs-mdrissi were you able to work around it?
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
Pushed 0.6.4 with the suggestion from @jumbosushi . Thank you!