I apologize if I made any mistake in this question. I'm working on a project in Python 3.10 where I'm using both bentoml
and sidetrek
(It is a python sdk that uses flytekit
's latest version). But I'm facing a version conflict with protobuf
.
Here's the issue:
- BentoML's latest version requires:
protobuf<4.0dev
- Flytekit's latest version requires:
protobuf==4.21.12
When I try to generate a requirements.txt
file using pip-compile
I get this error:
Could not find a version that matches protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0,<5.0.0dev,>=3.12.0,>=3.19.5,>=4.21.1,>=4.21.6,~=3.13 (from mlflow==2.3.0->sidetrek==0.0.14->-r requirements.in (line 2))
Tried: 2.0.3, 2.3.0, 2.4.1, 2.5.0, 2.6.0, 2.6.1, 3.0.0, 3.0.0, 3.1.0, 3.1.0.post1, 3.1.0.post1, 3.2.0, 3.2.0, 3.3.0, 3.4.0, 3.4.0, 3.5.0.post1, 3.5.0.post1, 3.5.1, 3.5.1, 3.5.2, 3.5.2, 3.5.2.post1, 3.5.2.post1, 3.6.0, 3.6.0, 3.6.1, 3.6.1, 3.7.0, 3.7.0, 3.7.1, 3.7.1, 3.8.0, 3.8.0, 3.9.0, 3.9.0, 3.9.1, 3.9.1, 3.9.2, 3.9.2, 3.10.0, 3.10.0, 3.11.0, 3.11.0, 3.11.1, 3.11.1, 3.11.2, 3.11.2, 3.11.3, 3.11.3, 3.12.2, 3.12.2, 3.12.4, 3.12.4, 3.13.0, 3.13.0, 3.14.0, 3.14.0, 3.15.0, 3.15.0, 3.15.1, 3.15.1, 3.15.2, 3.15.2, 3.15.3, 3.15.3, 3.15.4, 3.15.4, 3.15.5, 3.15.5, 3.15.6, 3.15.6, 3.15.7, 3.15.7, 3.15.8, 3.15.8, 3.16.0, 3.16.0, 3.17.0, 3.17.0, 3.17.1, 3.17.1, 3.17.2, 3.17.2, 3.17.3, 3.17.3, 3.18.0, 3.18.0, 3.18.1, 3.18.1, 3.18.3, 3.18.3, 3.19.0, 3.19.0, 3.19.0, 3.19.1, 3.19.1, 3.19.1, 3.19.2, 3.19.2, 3.19.2, 3.19.3, 3.19.3, 3.19.3, 3.19.4, 3.19.4, 3.19.4, 3.19.5, 3.19.5, 3.19.5, 3.19.6, 3.19.6, 3.19.6, 3.20.0, 3.20.0, 3.20.0, 3.20.1, 3.20.1, 3.20.1, 3.20.2, 3.20.2, 3.20.2, 3.20.3, 3.20.3, 3.20.3, 4.21.0, 4.21.0, 4.21.0, 4.21.0, 4.21.1, 4.21.1, 4.21.1, 4.21.1, 4.21.2, 4.21.2, 4.21.2, 4.21.2, 4.21.3, 4.21.3, 4.21.3, 4.21.3, 4.21.4, 4.21.4, 4.21.4, 4.21.4, 4.21.5, 4.21.5, 4.21.5, 4.21.5, 4.21.6, 4.21.6, 4.21.6, 4.21.6, 4.21.7, 4.21.7, 4.21.7, 4.21.7, 4.21.8, 4.21.8, 4.21.8, 4.21.8, 4.21.9, 4.21.9, 4.21.9, 4.21.9, 4.21.10, 4.21.10, 4.21.10, 4.21.10, 4.21.11, 4.21.11, 4.21.11, 4.21.11, 4.21.12, 4.21.12, 4.21.12, 4.21.12, 4.22.0, 4.22.0, 4.22.0, 4.22.1, 4.22.1, 4.22.1, 4.22.3, 4.22.3, 4.22.3
Skipped pre-versions: 2.0.0b0, 3.0.0a2, 3.0.0a3, 3.0.0b1, 3.0.0b1.post1, 3.0.0b1.post2, 3.0.0b2, 3.0.0b2, 3.0.0b2.post1, 3.0.0b2.post1, 3.0.0b2.post2, 3.0.0b2.post2, 3.0.0b3, 3.0.0b4, 3.0.0b4, 3.2.0rc1, 3.2.0rc1, 3.2.0rc1.post1, 3.2.0rc1.post1, 3.2.0rc2, 3.2.0rc2, 3.7.0rc2, 3.7.0rc2, 3.7.0rc3, 3.7.0rc3, 3.8.0rc1, 3.8.0rc1, 3.9.0rc1, 3.9.0rc1, 3.10.0rc1, 3.10.0rc1, 3.11.0rc1, 3.11.0rc1, 3.11.0rc2, 3.11.0rc2, 3.13.0rc3, 3.13.0rc3, 3.14.0rc1, 3.14.0rc1, 3.14.0rc2, 3.14.0rc2, 3.14.0rc3, 3.14.0rc3, 3.15.0rc1, 3.15.0rc1, 3.15.0rc2, 3.15.0rc2, 3.16.0rc1, 3.16.0rc1, 3.16.0rc2, 3.16.0rc2, 3.17.0rc1, 3.17.0rc1, 3.17.0rc2, 3.17.0rc2, 3.18.0rc1, 3.18.0rc1, 3.18.0rc2, 3.18.0rc2, 3.19.0rc1, 3.19.0rc1, 3.19.0rc1, 3.19.0rc2, 3.19.0rc2, 3.19.0rc2, 3.20.0rc1, 3.20.0rc1, 3.20.0rc1, 3.20.0rc2, 3.20.0rc2, 3.20.0rc2, 3.20.1rc1, 3.20.1rc1, 3.20.1rc1, 4.0.0rc1, 4.0.0rc1, 4.0.0rc2, 4.0.0rc2, 4.21.0rc1, 4.21.0rc1, 4.21.0rc1, 4.21.0rc1, 4.21.0rc2, 4.21.0rc2, 4.21.0rc2, 4.21.0rc2, 4.22.0rc2, 4.22.0rc2, 4.22.0rc2, 4.22.0rc3, 4.22.0rc3, 4.22.0rc3
There are incompatible versions in the resolved dependencies:
protobuf>=4.21.6 (from grpcio-status==1.54.0->flytekit==1.4.2->sidetrek==0.0.14->-r requirements.in (line 2))
protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5 (from googleapis-common-protos==1.59.0->flytekit==1.4.2->sidetrek==0.0.14->-r requirements.in (line 2))
protobuf<5.0.0,>=4.21.1 (from flyteidl==1.3.19->flytekit==1.4.2->sidetrek==0.0.14->-r requirements.in (line 2))
protobuf~=3.13 (from opentelemetry-proto==1.14.0->opentelemetry-exporter-otlp-proto-http==1.14.0->bentoml==1.0.11->-r requirements.in (line 1))
protobuf<5,>=3.12.0 (from mlflow==2.3.0->sidetrek==0.0.14->-r requirements.in (line 2))
Can anyone suggest me a way to resolve this issue? As I need to use the latest version of both bentoml
and flytekit
, how can I handle this in Python? Any help or suggestion would be really helpful and appreciated. Thanks.
What I tried
- I tested the
bentoml==1.0.10
and the issue was resolved. But I need to use the latest version ofbentoml
which is1.0.19
andflytekit
which is1.5.0
- I also removed
bentoml
from myrequirements.in
and it successfully generatedrequirements.txt
withsidetrek
(and all its dependencies, such asprotobuf
) in it.
Expected Output
Generating requirements.txt
with the latest version of both bentoml
and flytekit
from requirements.in
using pip-compile