I keep getting this error no matter what I do: ImportError: cannot import name 'EnvVar' from 'crewai.tools'
Hi, I’m trying to install and run CrewAI Studio on my Mac, but I keep running into dependency issues with the crewai and crewai-tools packages. The versions specified in the README (crewai==0.22.6 and crewai-tools==0.0.51) are not available on PyPI, and the latest available versions are not compatible with each other or with CrewAI Studio’s codebase. Specifically, I get this error: ImportError: cannot import name 'EnvVar' from 'crewai.tools' It seems that the latest crewai_tools package expects an EnvVar symbol in crewai.tools, but it does not exist in the latest crewai package. Could you please provide: A working requirements.txt or list of package versions that are known to work together? Or, if possible, the old .whl files for crewai==0.22.6 and crewai-tools==0.0.51? Or, ideally, an updated version of CrewAI Studio that works with the latest crewai and crewai-tools? Thank you so much for your help and for making this project open source!
Hi, are you sure you are using this repository and not some fork of it? I didn't put any version specifications neighter to readme or requirements.txt. Are you using venv, conda or docker? What is your python version?
Hi! Thank you for your quick response. I am using the official CrewAI Studio repository (not a fork). I set up a virtual environment using venv. My Python version is 3.11. I installed the dependencies using pip install -r requirements.txt and then installed crewai and crewai-tools from PyPI (since there are no version specs in the repo). When I run the app, I get this error: ImportError: cannot import name 'EnvVar' from 'crewai.tools' (/Users/"my name"/Downloads/CrewAI-Studio-main/venv/lib/python3.11/site-packages/crewai/tools/init.py) It seems the latest crewai_tools package expects an EnvVar symbol in crewai.tools, but it doesn’t exist in the latest crewai package. Do you have a list of package versions that are known to work, or any advice on which versions of crewai and crewai-tools I should use? Thank you very much.
I didn't try using conda yet so i'm going to try doing it with conda (I have an older mac so Docker doesn't work)
maybe try to install it using pip without cache (--no-cache), or it could be because of python version... I have these packages and it works without any problem:
PS C:\CrewAI-Studio> python --version
Python 3.12.10
PS C:\CrewAI-Studio> & C:\CrewAI-Studio\venv\Scripts\Activate.ps1
(venv) PS C:\CrewAI-Studio> .\venv\Scripts\activate
(venv) PS C:\CrewAI-Studio> pip freeze
aiohappyeyeballs==2.6.1
aiohttp==3.12.13
aiosignal==1.4.0
alembic==1.16.2
altair==5.5.0
annotated-types==0.7.0
anthropic==0.57.1
anyio==4.9.0
appdirs==1.4.4
asgiref==3.9.0
asn1crypto==1.5.1
asttokens==3.0.0
attrs==25.3.0
babel==2.17.0
backoff==2.2.1
backrefs==5.9
bcrypt==4.3.0
beautifulsoup4==4.13.4
blinker==1.9.0
boto3==1.39.3
botocore==1.39.3
build==1.2.2.post1
cachetools==5.5.2
certifi==2025.6.15
cffi==1.17.1
cfgv==3.4.0
charset-normalizer==3.4.2
chroma-hnswlib==0.7.6
chromadb==0.5.23
click==8.2.1
cohere==5.15.0
colorama==0.4.6
coloredlogs==15.0.1
crewai==0.140.0
crewai-tools==0.49.0
cryptography==45.0.5
dataclasses-json==0.6.7
decorator==5.2.1
deprecation==2.1.0
dill==0.4.0
distlib==0.3.9
distro==1.9.0
docker==7.1.0
docling==2.40.0
docling-core==2.40.0
docling-ibm-models==3.7.0
docling-parse==4.1.0
docstring_parser==0.16
duckduckgo_search==8.1.1
durationpy==0.10
easyocr==1.7.2
embedchain==0.1.128
et_xmlfile==2.0.0
executing==2.2.0
fastapi==0.115.14
fastavro==1.11.1
filelock==3.18.0
filetype==1.2.0
flatbuffers==25.2.10
frozenlist==1.7.0
fsspec==2025.5.1
ghp-import==2.1.0
gitdb==4.0.12
GitPython==3.1.44
google-auth==2.40.3
googleapis-common-protos==1.70.0
gptcache==0.1.44
greenlet==3.2.3
groq==0.29.0
grpcio==1.73.1
h11==0.16.0
h2==4.2.0
hpack==4.1.0
httpcore==1.0.9
httptools==0.6.4
httpx==0.28.1
httpx-sse==0.4.0
huggingface-hub==0.33.2
humanfriendly==10.0
hyperframe==6.1.0
identify==2.6.12
idna==3.10
imageio==2.37.0
importlib_metadata==8.7.0
importlib_resources==6.5.2
instructor==1.9.0
ipython==9.4.0
ipython_pygments_lexers==1.1.1
jedi==0.19.2
Jinja2==3.1.6
jiter==0.10.0
jmespath==1.0.1
json5==0.12.0
json_repair==0.25.2
jsonlines==3.1.0
jsonpatch==1.33
jsonpickle==4.1.1
jsonpointer==3.0.0
jsonref==1.1.0
jsonschema==4.24.0
jsonschema-specifications==2025.4.1
kubernetes==33.1.0
lancedb==0.24.0
langchain==0.3.26
langchain-anthropic==0.3.17
langchain-cohere==0.3.5
langchain-community==0.3.27
langchain-core==0.3.68
langchain-experimental==0.3.4
langchain-groq==0.3.5
langchain-ollama==0.3.3
langchain-openai==0.2.14
langchain-text-splitters==0.3.8
langsmith==0.3.45
latex2mathml==3.78.0
lazy_loader==0.4
litellm==1.72.6
lxml==5.4.0
Mako==1.3.10
Markdown==3.8.2
markdown-it-py==3.0.0
marko==2.1.4
MarkupSafe==3.0.2
marshmallow==3.26.1
matplotlib-inline==0.1.7
mdurl==0.1.2
mem0ai==0.1.114
mergedeep==1.3.4
mkdocs==1.6.1
mkdocs-get-deps==0.2.0
mkdocs-material==9.6.15
mkdocs-material-extensions==1.3.1
mmh3==5.1.0
monotonic==1.6
mpire==2.10.2
mpmath==1.3.0
multidict==6.6.3
multiprocess==0.70.18
mypy_extensions==1.1.0
narwhals==1.46.0
networkx==3.5
ninja==1.11.1.4
nodeenv==1.9.1
numpy==2.2.6
oauthlib==3.3.1
ollama==0.5.1
onnxruntime==1.22.0
openai==1.93.0
opencv-python-headless==4.12.0.88
openpyxl==3.1.5
opentelemetry-api==1.34.1
opentelemetry-exporter-otlp-proto-common==1.34.1
opentelemetry-exporter-otlp-proto-grpc==1.34.1
opentelemetry-exporter-otlp-proto-http==1.34.1
opentelemetry-instrumentation==0.55b1
opentelemetry-instrumentation-asgi==0.55b1
opentelemetry-instrumentation-fastapi==0.55b1
opentelemetry-proto==1.34.1
opentelemetry-sdk==1.34.1
opentelemetry-semantic-conventions==0.55b1
opentelemetry-util-http==0.55b1
orjson==3.10.18
overrides==7.7.0
packaging==24.2
paginate==0.5.7
pandas==2.3.0
parso==0.8.4
pathspec==0.12.1
pdfminer.six==20250506
pdfplumber==0.11.7
pillow==11.3.0
platformdirs==4.3.8
pluggy==1.6.0
portalocker==2.10.1
posthog==3.25.0
pre_commit==4.2.0
primp==0.15.0
prompt_toolkit==3.0.51
propcache==0.3.2
protobuf==5.29.5
psycopg2-binary==2.9.10
pure_eval==0.2.3
pyarrow==20.0.0
pyasn1==0.6.1
pyasn1_modules==0.4.2
pyclipper==1.3.0.post6
pycparser==2.22
pydantic==2.11.7
pydantic-settings==2.10.1
pydantic_core==2.33.2
pydeck==0.9.1
Pygments==2.19.2
PyJWT==2.10.1
pylatexenc==2.10
pymdown-extensions==10.16
pyOpenSSL==25.1.0
pypdf==5.7.0
pypdfium2==4.30.1
PyPika==0.48.9
pyproject_hooks==1.2.0
pyreadline3==3.5.4
pyright==1.1.402
pysbd==0.3.4
python-bidi==0.6.6
python-dateutil==2.9.0.post0
python-docx==1.2.0
python-dotenv==1.1.1
python-pptx==1.0.2
pytube==15.0.0
pytz==2025.2
pyvis==0.3.2
pywin32==310
PyYAML==6.0.2
pyyaml_env_tag==1.1
qdrant-client==1.14.3
referencing==0.36.2
regex==2024.11.6
requests==2.32.4
requests-oauthlib==2.0.0
requests-toolbelt==1.0.0
rich==13.9.4
rpds-py==0.26.0
rsa==4.9.1
rtree==1.4.0
s3transfer==0.13.0
safetensors==0.5.3
schema==0.7.7
scikit-image==0.25.2
scipy==1.16.0
semchunk==2.2.2
setuptools==80.9.0
shapely==2.1.1
shellingham==1.5.4
six==1.17.0
smmap==5.0.2
sniffio==1.3.1
snowflake-connector-python==3.16.0
sortedcontainers==2.4.0
soupsieve==2.7
SQLAlchemy==2.0.41
stack-data==0.6.3
starlette==0.46.2
streamlit==1.46.1
sympy==1.14.0
tabulate==0.9.0
tenacity==9.1.2
tifffile==2025.6.11
tiktoken==0.9.0
tokenizers==0.20.3
toml==0.10.2
tomli==2.2.1
tomli_w==1.2.0
tomlkit==0.13.3
torch==2.7.1
torchvision==0.22.1
tornado==6.5.1
tqdm==4.67.1
traitlets==5.14.3
transformers==4.46.3
typer==0.16.0
types-requests==2.32.4.20250611
typing-inspect==0.9.0
typing-inspection==0.4.1
typing_extensions==4.14.1
tzdata==2025.2
urllib3==2.5.0
uv==0.7.19
uvicorn==0.35.0
virtualenv==20.31.2
watchdog==6.0.0
watchfiles==1.1.0
wcwidth==0.2.13
websocket-client==1.8.0
websockets==15.0.1
wrapt==1.17.2
xlsxwriter==3.2.5
yarl==1.20.1
zipp==3.23.0
zstandard==0.23.0
Thank you for helping me, I will try using these versions and I will text here if it was succesful
Hi again, Thank you for your previous help and for sharing your working pip freeze output. I’ve tried to match your environment as closely as possible (using Python 3.12.1, crewai==0.140.0, crewai-tools==0.49.0, and the rest of your package versions). However, I keep running into a dependency conflict that pip cannot resolve: crewai==0.140.0 requires onnxruntime==1.22.0, but that version is not available for my platform (macOS, Python 3.12.1). chromadb==0.5.23 requires onnxruntime>=1.14.1, which would work with the available versions, but not with the strict pin to 1.22.0 from crewai. Pip gives this error: ERROR: Cannot install -r requirements.txt (line 29) and -r requirements.txt (line 34) because these package versions have conflicting dependencies. The conflict is caused by: chromadb 0.5.23 depends on onnxruntime>=1.14.1 crewai 0.140.0 depends on onnxruntime==1.22.0 ERROR: ResolutionImpossible I’ve tried removing the version pin for onnxruntime, but then crewai still requires 1.22.0 specifically, which isn’t available for my system. Is there a workaround for this, or could you suggest a set of versions (or a requirements file) that would work on macOS? Or is there a way to relax the onnxruntime version requirement in crewai? Thank you so much for your help and for maintaining this project!
The problem in issue #98 is a version compatibility and missing symbol error.
The latest crewAI_tools package expects an EnvVar symbol in crewai.tools, but that symbol no longer exists in the current package version.
This means:
- The versions listed in the README (
crewAI = 0.22.6andcrewAI_tools = 0.5.1) are either not available or incompatible. - Installing
crewAI_toolsfrom PyPI without pinning the version results in ImportError: cannot import name 'EnvVar' from 'crewAI.tools'. - The error will persist unless a matching pair of
crewAIandcrewAI_toolsversions is used, or the code is updated to remove the dependency onEnvVar.
Using Windows 11. CrewAI Studio installed in d:\code\CrewAI-Studio. System python: 3.12. (in C:\Python312
Using pip / venv type of environment (as opposed to conda or docker). Ran install_venv.bat. No issues that I can see.
Ran through install, then run the run_venv.bat file. I am getting this error:
D:\Code\CrewAI-Studio\venv\Lib\site-packages\litellm\litellm_core_utils\core_helpers
.py:8 in
5 import httpx
6
7 from litellm._logging import verbose_logger
❱ 8 from litellm.types.llms.openai import AllMessageValues 9 10 if TYPE_CHECKING: 11 │ from opentelemetry.trace import Span as _Span
D:\Code\CrewAI-Studio\venv\Lib\site-packages\litellm\types\llms\openai.py:36 in
33 )
34 from openai.types.embedding import Embedding as OpenAIEmbedding
35 from openai.types.fine_tuning.fine_tuning_job import FineTuningJob
❱ 36 from openai.types.responses.response import ( 37 │ IncompleteDetails, 38 │ Response, 39 │ ResponseOutputItem, ──────────────────────────────────────────────────────────────────────────────────────── ImportError: cannot import name 'ResponseTextConfig' from 'openai.types.responses.response' (D:\Code\CrewAI-Studio\venv\Lib\site-packages\openai\types\responses\response.py) Stopping...