Not able to upgrade crewai-tool separately

I used pip to upgrade crewai from 0.114.0 to 0.120.1, and I tried to upgrade the crewai-tools from the following version: However, it keeps running downloading deprecated packages of several other python packages and throws a message in between that it is taking longer than usual and ctrl+c to abort.
Name: crewai-tools
Version: 0.38.1

why is it so complicated to just upgrade the crewai-tools?

pip install -U crewai crewai-tools
1 Like

Hi CrewAI

Thank you for the pip command for tools, I will try later.

I faced a annoying issue today - couldn’t continue:
I tried the L5 from the second course in Deeplearning.ai in my local.
I changed all the agent models to groq_llm, and also the embedder as google’s text embedder. I did for all the agents in fact. ButI still get openai key error.

--------------------------------------------------------------------------- KeyError Traceback (most recent call last) Cell In[22], line 19 2 embedder_config = { 3 “provider”: “google”, 4 “config”: { (…) 7 } 8 } 10 market_news_monitor_agent = Agent( 11 config=agents_config[‘market_news_monitor_agent’], 12 tools=[SerperDevTool(), ScrapeWebsiteTool()], 13 llm=groq_llm, 14 embedder=embedder_config 15 ) 17 data_analyst_agent = Agent( 18 config=agents_config[‘data_analyst_agent’], —> 19 tools=[SerperDevTool(), WebsiteSearchTool()], 20 llm=groq_llm, 21 embedder=embedder_config 22 ) 24 content_creator_agent = Agent( 25 config=agents_config[‘content_creator_agent’], 26 tools=[SerperDevTool(), WebsiteSearchTool()], 27 embedder=embedder_config
…
21 if api_key is None and os.getenv(“OPENAI_ORGANIZATION”) is None: File :714, in getitem(self, key) KeyError: ‘OPENAI_API_KEY’

this is my agent code - anyway its from the l5 notebook

Creating Agents

embedder_config = {
“provider”: “google”,
“config”: {
“api_key”: os.environ.get(“GOOG2_API_KEY”),
“model”: “models/text-embedding-004”
}
}

market_news_monitor_agent = Agent(
config=agents_config[‘market_news_monitor_agent’],
tools=[SerperDevTool(), ScrapeWebsiteTool()],
llm=groq_llm,
embedder=embedder_config
)

data_analyst_agent = Agent(
config=agents_config[‘data_analyst_agent’],
tools=[SerperDevTool(), WebsiteSearchTool()],
llm=groq_llm,
embedder=embedder_config
)

content_creator_agent = Agent(
config=agents_config[‘content_creator_agent’],
tools=[SerperDevTool(), WebsiteSearchTool()],
embedder=embedder_config
)

quality_assurance_agent = Agent(
config=agents_config[‘quality_assurance_agent’],
embedder=embedder_config
)

Creating Tasks

monitor_financial_news_task = Task(
config=tasks_config[‘monitor_financial_news’],
agent=market_news_monitor_agent
)

analyze_market_data_task = Task(
config=tasks_config[‘analyze_market_data’],
agent=data_analyst_agent
)

create_content_task = Task(
config=tasks_config[‘create_content’],
agent=content_creator_agent,
context=[monitor_financial_news_task, analyze_market_data_task]
)

quality_assurance_task = Task(
config=tasks_config[‘quality_assurance’],
agent=quality_assurance_agent,
output_pydantic=ContentOutput
)

Creating Crew

content_creation_crew = Crew(
agents=[
market_news_monitor_agent,
data_analyst_agent,
content_creator_agent,
quality_assurance_agent
],
tasks=[
monitor_financial_news_task,
analyze_market_data_task,
create_content_task,
quality_assurance_task
],
verbose=True,
embedder=embedder_config
)

your suggestion did not work. I still face the same problem. it runs for ever.
Using cached wrapt-1.17.2-cp312-cp312-win_amd64.whl.metadata (6.5 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See Dependency Resolution - pip documentation v25.1.1 for guidance. If you want to abort this run, press Ctrl + C.
Collecting opentelemetry-sdk>=1.30.0 (from crewai)
Using cached opentelemetry_sdk-1.32.1-py3-none-any.whl.metadata (1.6 kB)
Collecting wrapt<2,>=1.10 (from deprecated>=1.2.6->opentelemetry-api>=1.30.0->crewai)
Using cached wrapt-1.17.1-cp312-cp312-win_amd64.whl.metadata (6.5 kB)
Collecting opentelemetry-api>=1.30.0 (from crewai)
Downloading opentelemetry_api-1.33.1-py3-none-any.whl.metadata (1.6 kB)
Collecting opentelemetry-semantic-conventions==0.54b1 (from opentelemetry-sdk>=1.30.0->crewai)
Downloading opentelemetry_semantic_conventions-0.54b1-py3-none-any.whl.metadata (2.5 kB)
Collecting wrapt<2,>=1.10 (from deprecated>=1.2.6->opentelemetry-api>=1.30.0->crewai)
Using cached wrapt-1.17.0-cp312-cp312-win_amd64.whl.metadata (6.5 kB)
Collecting opentelemetry-sdk>=1.30.0 (from crewai)
Using cached opentelemetry_sdk-1.33.0-py3-none-any.whl.metadata (1.6 kB)
Collecting wrapt<2,>=1.10 (from deprecated>=1.2.6->opentelemetry-api>=1.30.0->crewai)
Using cached wrapt-1.16.0-cp312-cp312-win_amd64.whl.metadata (6.8 kB)
Using cached wrapt-1.15.0-py3-none-any.whl.metadata (6.7 kB)
Using cached wrapt-1.14.1.tar.gz (50 kB)
Preparing metadata (setup.py) … done
Collecting opentelemetry-api>=1.30.0 (from crewai)
Using cached opentelemetry_api-1.31.1-py3-none-any.whl.metadata (1.6 kB)
Collecting opentelemetry-semantic-conventions==0.52b1 (from opentelemetry-sdk>=1.30.0->crewai)
Using cached opentelemetry_semantic_conventions-0.52b1-py3-none-any.whl.metadata (2.5 kB)
Collecting wrapt<2,>=1.10 (from deprecated>=1.2.6->opentelemetry-api>=1.30.0->crewai)
Using cached wrapt-1.14.0.tar.gz (50 kB)
Preparing metadata (setup.py) … done
Collecting opentelemetry-sdk>=1.30.0 (from crewai)
Using cached opentelemetry_sdk-1.31.0-py3-none-any.whl.metadata (1.6 kB)
Collecting wrapt<2,>=1.10 (from deprecated>=1.2.6->opentelemetry-api>=1.30.0->crewai)
Using cached wrapt-1.13.3.tar.gz (48 kB)
Preparing metadata (setup.py) … done
Collecting opentelemetry-api>=1.30.0 (from crewai)
Using cached opentelemetry_api-1.30.0-py3-none-any.whl.metadata (1.6 kB)
Collecting opentelemetry-semantic-conventions==0.51b0 (from opentelemetry-sdk>=1.30.0->crewai)
Using cached opentelemetry_semantic_conventions-0.51b0-py3-none-any.whl.metadata (2.5 kB)
Collecting wrapt<2,>=1.10 (from deprecated>=1.2.6->opentelemetry-api>=1.30.0->crewai)
Using cached wrapt-1.13.2.tar.gz (48 kB)
Preparing metadata (setup.py) … done
Using cached wrapt-1.12.1.tar.gz (27 kB)
Preparing metadata (setup.py) … done
Using cached wrapt-1.12.0.tar.gz (27 kB)
Preparing metadata (setup.py) … done
Using cached wrapt-1.11.2.tar.gz (27 kB)
Preparing metadata (setup.py) … done
Downloading wrapt-1.11.1.tar.gz (27 kB)
Preparing metadata (setup.py) … done
Collecting deprecated>=1.2.6 (from opentelemetry-api>=1.30.0->crewai)
Using cached Deprecated-1.2.18-py2.py3-none-any.whl.metadata (5.7 kB)
Using cached Deprecated-1.2.17-py2.py3-none-any.whl.metadata (5.7 kB)
Using cached Deprecated-1.2.16-py2.py3-none-any.whl.metadata (5.8 kB)
Using cached Deprecated-1.2.15-py2.py3-none-any.whl.metadata (5.5 kB)
Using cached Deprecated-1.2.14-py2.py3-none-any.whl.metadata (5.4 kB)
Using cached Deprecated-1.2.13-py2.py3-none-any.whl.metadata (5.8 kB)
Using cached Deprecated-1.2.12-py2.py3-none-any.whl.metadata (5.8 kB)
Using cached Deprecated-1.2.11-py2.py3-none-any.whl.metadata (5.8 kB)
Using cached Deprecated-1.2.10-py2.py3-none-any.whl.metadata (5.3 kB)
Using cached Deprecated-1.2.9-py2.py3-none-any.whl.metadata (5.3 kB)

It looks like you’re having trouble updating the wrapt library.

Well, supposing that you created your crew with:

crewai create crew my_crew

Then try to:

cd /path/to/my_crew
uv cache clean
uv add "crewai>=0.121.0" "crewai-tools>=0.45.0" "wrapt>=1.17.2" "deprecated>=1.2.18"