google-deepmind / tree

tree is a library for working with nested data structures
https://tree.readthedocs.io
Apache License 2.0
938 stars 59 forks source link

Add python==3.11.0 support #95

Closed ka00ri closed 1 year ago

ka00ri commented 1 year ago

Hi, Is a python 3.11 support planned for the near future?

Xin-yang-Liu commented 1 year ago

I find the current version seems to have compatibility issues with python 3.11. I was trying to install optax in a new conda environment with python 3.11 (using pip command) but I always get the following error message

In file included from /home/xxx/anaconda3/envs/test11/include/python3.11/Python.h:42,
                       from /tmp/pip-install-oa_p0aj5/dm-tree_f6a43b01ebba49709890a9c84578be40/build/temp.linux-x86_64-cpython-311/_deps/pybind11-src/include/pybind11/detail/common.h:124,
                       from /tmp/pip-install-oa_p0aj5/dm-tree_f6a43b01ebba49709890a9c84578be40/build/temp.linux-x86_64-cpython-311/_deps/pybind11-src/include/pybind11/pytypes.h:12,
                       from /tmp/pip-install-oa_p0aj5/dm-tree_f6a43b01ebba49709890a9c84578be40/build/temp.linux-x86_64-cpython-311/_deps/pybind11-src/include/pybind11/cast.h:13,
                       from /tmp/pip-install-oa_p0aj5/dm-tree_f6a43b01ebba49709890a9c84578be40/build/temp.linux-x86_64-cpython-311/_deps/pybind11-src/include/pybind11/attr.h:13,
                       from /tmp/pip-install-oa_p0aj5/dm-tree_f6a43b01ebba49709890a9c84578be40/build/temp.linux-x86_64-cpython-311/_deps/pybind11-src/include/pybind11/pybind11.h:45,
                       from /tmp/pip-install-oa_p0aj5/dm-tree_f6a43b01ebba49709890a9c84578be40/tree/tree.h:21,
                       from /tmp/pip-install-oa_p0aj5/dm-tree_f6a43b01ebba49709890a9c84578be40/tree/tree.cc:15:
      /home/xxx/anaconda3/envs/test11/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      gmake[2]: *** [CMakeFiles/_tree.dir/build.make:76: CMakeFiles/_tree.dir/tree.cc.o] Error 1
      gmake[1]: *** [CMakeFiles/Makefile2:128: CMakeFiles/_tree.dir/all] Error 2
      gmake: *** [Makefile:91: all] Error 2

.........................
.........................

File "/home/xxx/anaconda3/envs/test11/lib/python3.11/subprocess.py", line 413, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '--build', '.', '-j40', '--config', 'Release']' returned non-zero exit status 2.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> dm-tree

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

while I installed optax in an environment with python 3.10, everything went well

wookayin commented 1 year ago

See PR #91.

wookayin commented 1 year ago

dm-tree 0.1.8 has been released (py311 wheels are also available).