crewai - ✅(Solved) Fix [BUG] Unable to use latest version of crewai[tools] with google-adk due to dependency conflict [2 pull requests, 3 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
crewAIInc/crewAI#4474Fetched 2026-04-08 00:41:52
View on GitHub
Comments
3
Participants
2
Timeline
11
Reactions
1
Timeline (top)
commented ×2cross-referenced ×2labeled ×2referenced ×2

I am trying to use the PDFSearchTool (from crewai_tools import PDFSearchTool) with my ADK agent using the CrewaiTool wrapper provided by google-adk. When I try to install the latest versions of google-adk (1.23.0) and crewai[tools] (1.9.3) I see some dependency conflicts for open telemetry-api and other related libraries. Looks like crewai-tools needs 1.34.0 version of this library while google-adk needs a higher one like 1.38.0. Due to this, my pip install fails. If I try to install crewai[tools] first and then google-adk, pip install works, but I get errors when I try to run my ADK agent that uses this crewai tool. Can you please help?

Error Message

Error during step 2: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. 4. adk run <adk_agent> : Error No module named 'crewai_tools' Error: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

Root Cause

I am trying to use the PDFSearchTool (from crewai_tools import PDFSearchTool) with my ADK agent using the CrewaiTool wrapper provided by google-adk. When I try to install the latest versions of google-adk (1.23.0) and crewai[tools] (1.9.3) I see some dependency conflicts for open telemetry-api and other related libraries. Looks like crewai-tools needs 1.34.0 version of this library while google-adk needs a higher one like 1.38.0. Due to this, my pip install fails. If I try to install crewai[tools] first and then google-adk, pip install works, but I get errors when I try to run my ADK agent that uses this crewai tool. Can you please help?

Fix Action

Fixed

PR fix notes

PR #4475: Fix #4474: Widen OpenTelemetry version constraints to resolve dependency conflicts

Description (problem / solution / changelog)

Fix #4474: Widen OpenTelemetry version constraints to >=1.34.0,<2

Summary

The opentelemetry-api, opentelemetry-sdk, and opentelemetry-exporter-otlp-proto-http dependencies were pinned to ~=1.34.0 (i.e. >=1.34.0, <1.35.0). This prevented coinstallation with libraries like google-adk which require opentelemetry-api>=1.36.0.

This PR widens the constraints to >=1.34.0,<2, matching the pattern used by other crewAI dependencies (e.g. openai>=1.83.0,<3). The OpenTelemetry APIs used by crewAI (trace, baggage, context, SDK resources, TracerProvider, BatchSpanProcessor, OTLPSpanExporter) are stable public APIs within the 1.x line.

A new test file test_opentelemetry_compatibility.py is added with 6 tests covering import functionality, version floor checks, and Telemetry singleton initialization.

Review & Testing Checklist for Human

  • Verify the upper bound <2 is acceptable — the previous pin ~=1.34.0 was very conservative. Consider whether a tighter bound like <1.40 would be more appropriate to reduce risk of future breakage from an unknown OTel 1.x release.
  • Note that the tests don't validate forward compatibility — the added tests verify the currently-resolved OTel version works, but don't actually install or test with 1.36+/1.38+ versions. The resolver may still pick 1.34.x. To truly validate, manually test with pip install opentelemetry-api==1.38.0 opentelemetry-sdk==1.38.0 opentelemetry-exporter-otlp-proto-http==1.38.0 and run the telemetry test suite.
  • Confirm uv.lock diff is clean — only the three specifier lines should change in uv.lock; no unintended version bumps of resolved packages.

Notes

Changed files

  • lib/crewai/pyproject.toml (modified, +3/-3)
  • lib/crewai/tests/telemetry/test_opentelemetry_compatibility.py (added, +91/-0)
  • uv.lock (modified, +3/-3)

PR #4482: fix: relax OpenTelemetry version constraints for google-adk compatibility

Description (problem / solution / changelog)

Fixes issue #4474

Changes

  • Changed OpenTelemetry version constraints from ~=1.34.0 (patch only) to >=1.20.0,<2
  • Allows users to install crewai with google-adk without dependency conflicts

Why

The restrictive ~=1.34.0 constraint only allows patch versions (1.34.0 to 1.34.x), which conflicts with google-adk dependencies. The new constraint allows any 1.x version, giving users flexibility while staying compatible.

<!-- CURSOR_SUMMARY -->

[!NOTE] Low Risk Dependency range change only; main risk is unforeseen incompatibilities when installed with older OpenTelemetry 1.x versions.

Overview Relaxes the OpenTelemetry dependency pins in lib/crewai/pyproject.toml from ~=1.34.0 to >=1.20.0,<2 for opentelemetry-api, opentelemetry-sdk, and opentelemetry-exporter-otlp-proto-http to avoid dependency conflicts (e.g., with google-adk).

<sup>Written by Cursor Bugbot for commit 3c8f2de0f7556e2e642a050378815f0b5671f1c8. This will update automatically on new commits. Configure here.</sup>

<!-- /CURSOR_SUMMARY -->

Changed files

  • lib/crewai/pyproject.toml (modified, +3/-3)
RAW_BUFFERClick to expand / collapse

Description

I am trying to use the PDFSearchTool (from crewai_tools import PDFSearchTool) with my ADK agent using the CrewaiTool wrapper provided by google-adk. When I try to install the latest versions of google-adk (1.23.0) and crewai[tools] (1.9.3) I see some dependency conflicts for open telemetry-api and other related libraries. Looks like crewai-tools needs 1.34.0 version of this library while google-adk needs a higher one like 1.38.0. Due to this, my pip install fails. If I try to install crewai[tools] first and then google-adk, pip install works, but I get errors when I try to run my ADK agent that uses this crewai tool. Can you please help?

Steps to Reproduce

  1. pip install google-adk
  2. pip install 'crewai[tools]' Error during step 2: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    google-adk 1.25.0 requires opentelemetry-api<1.40.0,>=1.36.0, but you have opentelemetry-api 1.34.1 which is incompatible.
    google-adk 1.25.0 requires opentelemetry-exporter-otlp-proto-http>=1.36.0, but you have opentelemetry-exporter-otlp-proto-http 1.34.1 which is incompatible.
    google-adk 1.25.0 requires opentelemetry-sdk<1.40.0,>=1.36.0, but you have opentelemetry-sdk 1.34.1 which is incompatible.
    opentelemetry-exporter-gcp-logging 1.11.0a0 requires opentelemetry-api>=1.35.0, but you have opentelemetry-api 1.34.1 which is incompatible.
    opentelemetry-exporter-gcp-logging 1.11.0a0 requires opentelemetry-sdk<1.39.0,>=1.35.0, but you have opentelemetry-sdk 1.34.1 which is incompatible.
    grpcio-status 1.78.0 requires protobuf<7.0.0,>=6.31.1, but you have protobuf 5.29.6 which is incompatible.

or

  1. pip install 'crewai[tools]'
  2. pip install google-adk
  3. Both installations successful
  4. adk run <adk_agent> : Error No module named 'crewai_tools'
  5. pip install crewai-tools Error: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    google-adk 1.25.0 requires opentelemetry-api<1.40.0,>=1.36.0, but you have opentelemetry-api 1.34.1 which is incompatible.
    google-adk 1.25.0 requires opentelemetry-exporter-otlp-proto-http>=1.36.0, but you have opentelemetry-exporter-otlp-proto-http 1.34.1 which is incompatible.
    google-adk 1.25.0 requires opentelemetry-sdk<1.40.0,>=1.36.0, but you have opentelemetry-sdk 1.34.1 which is incompatible.
    opentelemetry-exporter-gcp-logging 1.11.0a0 requires opentelemetry-api>=1.35.0, but you have opentelemetry-api 1.34.1 which is incompatible.
    opentelemetry-exporter-gcp-logging 1.11.0a0 requires opentelemetry-sdk<1.39.0,>=1.35.0, but you have opentelemetry-sdk 1.34.1 which is incompatible.
    grpcio-status 1.78.0 requires protobuf<7.0.0,>=6.31.1, but you have protobuf 5.29.6 which is incompatible.

Expected behavior

pip install for both libraries is successful and I am able to use the PDFSearch tool

Screenshots/Code snippets

root_agent = Agent( name="pdf_query_agent", description="Agent to answer users questions based on input document", instruction=""" - You are an assistant that has the capability to answer the users questions based on contents of a PDF file - Ask the user what they want to know about the PDF file - Use your tool to search for the answers to the users question in the PDF file given to it """, model=os.getenv("MODEL"), tools = [ CrewaiTool( name="search_info_in_PDF", description=( """Searches for the answers to the user's question in the PDF""" ), tool = PDFSearchTool(pdf='pdf_reader_agent/<Name of pdf file>') ) ]

)

Operating System

macOS Sonoma

Python Version

3.12

crewAI Version

1.9.3

crewAI Tools Version

1.9.3

Virtual Environment

Venv

Evidence

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
google-adk 1.25.0 requires opentelemetry-api<1.40.0,>=1.36.0, but you have opentelemetry-api 1.34.1 which is incompatible.
google-adk 1.25.0 requires opentelemetry-exporter-otlp-proto-http>=1.36.0, but you have opentelemetry-exporter-otlp-proto-http 1.34.1 which is incompatible.
google-adk 1.25.0 requires opentelemetry-sdk<1.40.0,>=1.36.0, but you have opentelemetry-sdk 1.34.1 which is incompatible.
opentelemetry-exporter-gcp-logging 1.11.0a0 requires opentelemetry-api>=1.35.0, but you have opentelemetry-api 1.34.1 which is incompatible.
opentelemetry-exporter-gcp-logging 1.11.0a0 requires opentelemetry-sdk<1.39.0,>=1.35.0, but you have opentelemetry-sdk 1.34.1 which is incompatible.
grpcio-status 1.78.0 requires protobuf<7.0.0,>=6.31.1, but you have protobuf 5.29.6 which is incompatible.

Possible Solution

upgrade opentelemetry and other conflicting dependencies with google-adk

Additional context

NA

extent analysis

Fix Plan

To resolve the dependency conflicts, we need to upgrade the conflicting dependencies to versions compatible with both google-adk and crewai[tools].

  1. Upgrade OpenTelemetry dependencies:

    • opentelemetry-api to version 1.36.0 or higher.
    • opentelemetry-exporter-otlp-proto-http to version 1.36.0 or higher.
    • opentelemetry-sdk to version 1.36.0 or higher.
  2. Upgrade protobuf dependency:

    • protobuf to version 6.31.1 or higher but less than 7.0.0.
  3. Install google-adk and crewai[tools]:

    pip install --upgrade opentelemetry-api opentelemetry-exporter-otlp-proto-http opentelemetry-sdk protobuf
    pip install google-adk
    pip install crewai[tools]
  4. Verify the installation:

    • Check the versions of the installed packages using pip show <package_name>.
    • Try running your ADK agent to ensure it works as expected.

Example Code Snippet

No code changes are required in your ADK agent. The issue is purely related to dependency conflicts, which are resolved through the package upgrades.

Verification

After applying the fix, verify that:

  • Both google-adk and crewai[tools] are installed successfully.
  • Your ADK agent runs without errors related to missing modules or dependency conflicts.
  • The PDFSearchTool works as expected within your agent.

Extra Tips

  • Regularly update your dependencies to ensure you have the latest security patches and features.
  • Consider using a requirements.txt file to manage your project's dependencies and ensure reproducibility across environments.
  • If you encounter further issues, consider creating a clean virtual environment to isolate the problem.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

pip install for both libraries is successful and I am able to use the PDFSearch tool

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

crewai - ✅(Solved) Fix [BUG] Unable to use latest version of crewai[tools] with google-adk due to dependency conflict [2 pull requests, 3 comments, 2 participants]