Skip to content

can't build latest tensorflow io from source with python 3.12 #2156

@cxh1020

Description

@cxh1020

Hi team,

It looks like TensorFlow I/O may not yet fully support Python 3.12. When I try to build the latest tf io from source with Python 3.12, I encounter the following error:

bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:139984:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
139984 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp: In function 'grpc_call_error __Pyx_PyInt_As_grpc_call_error(PyObject*)':
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140163:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140163 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140218:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140218 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp: In function 'size_t __Pyx_PyInt_As_size_t(PyObject*)':
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140359:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140359 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140414:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140414 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp: In function 'unsigned int __Pyx_PyInt_As_unsigned_int(PyObject*)':
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140593:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140593 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140648:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140648 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp: In function 'Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*)':
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:141211:47: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
141211 |     const digit* digits = ((PyLongObject*)b)->ob_digit;
       |                                               ^~~~~~~~
SUBCOMMAND: # @proj//:proj [action 'Compiling src/iso19111/operation/coordinateoperationfactory.cpp', configuration: 1eb5270c5bfcee71256c3f890d09cbc8dd9f0cfb545aac486e7f933abc9eb85a, execution platform: @local_execution_config_platform//:platform]

To reproduce:
run build.Dockerfile with python 3.12, tensorflow 2.16.1.

Could you please help confirm if Python 3.12 is supported, or suggest a workaround?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions