Hi, we are trying to install flyte kit 1.0 or high...
# ask-the-community
p
Hi, we are trying to install flyte kit 1.0 or higher, but facing compatibility issues with tensorflow which wants protobuf <3.2.0 - is there any way to mitigate this?
s
Could you send the exact error?
p
[1/1] currentAttempt done. Last Error: USER::Pod failed. No message received from kubernetes. [a9h5ptcnt7b4pf82h759-n3-0] terminated with exit code (1). Reason [Error]. Message: b/python3.9/dist-packages/tensorflow/python/__init__.py", line 37, in <module> from tensorflow.python.eager import context File "/usr/local/lib/python3.9/dist-packages/tensorflow/python/eager/context.py", line 29, in <module> from tensorflow.core.framework import function_pb2 File "/usr/local/lib/python3.9/dist-packages/tensorflow/core/framework/function_pb2.py", line 16, in <module> from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2 File "/usr/local/lib/python3.9/dist-packages/tensorflow/core/framework/attr_value_pb2.py", line 16, in <module> from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2 File "/usr/local/lib/python3.9/dist-packages/tensorflow/core/framework/tensor_pb2.py", line 16, in <module> from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2 File "/usr/local/lib/python3.9/dist-packages/tensorflow/core/framework/resource_handle_pb2.py", line 16, in <module> from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2 File "/usr/local/lib/python3.9/dist-packages/tensorflow/core/framework/tensor_shape_pb2.py", line 36, in <module> _descriptor.FieldDescriptor( File "/usr/local/lib/python3.9/dist-packages/google/protobuf/descriptor.py", line 560, in new _message.Message._CheckCalledFromGeneratedFile() TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
s
Can you try installing flytekit==1.2.7?
p
Does that use some different protobuf version from Flytekit 1 or 1.3?
s
protobuf [required: >=3.6.1,<4]
p
That's the problem though
Tensorflow always wants 3.2 or lower
s
It's 3.20, right?
p
Yes
s
In that case, it should work.
p
But you just posted that it needs 3.6 or higher
Flyte wants 3.6 or higher, tensorflow wants 3.2 or lower
s
Flyte needs >= 3.6 TF needs < 3.20 (it's twenty, not two!)
p
Oh right.. then why am I getting this error at all, it should be fine
I'll back to you, thanks for the help
s
You were getting it because flyteidl protobuf requires >=4.21.1, <5.0.0
k
@Pontus Wistbacka this is because tensorflow is stuck on old version and we are unsure when they will move. It’s a year older now
n
Do we know the impact of setting the PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python? I have to set it during docs build so that all classes are rendered in docs
n
151 Views