google-deepmind/tree

Feature request: wheels for Python 3.8

alimuldal opened this issue · 7 comments

It would be great to have pre-built wheels for Python 3.8 so that users of this version don't need to build dm-tree from source (and set up the requisite build dependencies, e.g. google-deepmind/dm_control#135)

Echo the request here.

This also affects Haiku; google-deepmind/dm-haiku#41

Hi together,

is there any update/solution of how to use dm-tree with Python 3.8 on Linux?

Error:

2021-02-19T15:43:36.5543398Z     Running setup.py install for dm-tree: started
2021-02-19T15:43:36.9198393Z     Running setup.py install for dm-tree: finished with status 'error'
2021-02-19T15:43:36.9204658Z     ERROR: Command errored out with exit status 1:
2021-02-19T15:43:36.9207165Z      command: /opt/_internal/cpython-3.8.7/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-83dr7m5a/dm-tree_b751ae964c4c4aad92b944717c8909e8/setup.py'"'"'; __file__='"'"'/tmp/pip-install-83dr7m5a/dm-tree_b751ae964c4c4aad92b944717c8909e8/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-wygxgsa6/install-record.txt --single-version-externally-managed --compile --install-headers /opt/_internal/cpython-3.8.7/include/python3.8/dm-tree
2021-02-19T15:43:36.9215788Z          cwd: /tmp/pip-install-83dr7m5a/dm-tree_b751ae964c4c4aad92b944717c8909e8/
2021-02-19T15:43:36.9244415Z     Complete output (13 lines):
2021-02-19T15:43:36.9246197Z     running install
2021-02-19T15:43:36.9246778Z     running build
2021-02-19T15:43:36.9247196Z     running build_py
2021-02-19T15:43:36.9247638Z     creating build
2021-02-19T15:43:36.9248433Z     creating build/lib.linux-x86_64-3.8
2021-02-19T15:43:36.9249220Z     creating build/lib.linux-x86_64-3.8/tree
2021-02-19T15:43:36.9250289Z     copying tree/tree_benchmark.py -> build/lib.linux-x86_64-3.8/tree
2021-02-19T15:43:36.9251187Z     copying tree/tree_test.py -> build/lib.linux-x86_64-3.8/tree
2021-02-19T15:43:36.9252047Z     copying tree/__init__.py -> build/lib.linux-x86_64-3.8/tree
2021-02-19T15:43:36.9252587Z     running build_ext
2021-02-19T15:43:36.9253473Z     bazel build //tree:_tree --symlink_prefix=build/temp.linux-x86_64-3.8/bazel- --compilation_mode=opt
2021-02-19T15:43:36.9254498Z     unable to execute 'bazel': No such file or directory
2021-02-19T15:43:36.9255410Z     error: command 'bazel' failed with exit status 1

fyi @koralturkk

Try install Bazel

It looks as though wheels for Python 3.8 were added in June 2020: https://pypi.org/project/dm-tree/#files

@alimuldal so how to install this via wheels without error as above?

pip install dm-tree installs correctly from a wheel in a Python 3.8.9 virtualenv on an x64 Linux machine. I can't tell why pip is falling back on building from source in your case - it could be that you're using a non-standard python implementation, e.g. PyPy, or you might have unusual ABI requirements. The logs before Running setup.py install for dm-tree: started might contain more info. pip install --only-binary=all dm-tree might also give you a more useful error message. Either way, it's no longer the case that there aren't any 3.8 wheels available.