CrewAI-Studio icon indicating copy to clipboard operation
CrewAI-Studio copied to clipboard

I keep getting this error no matter what I do: ImportError: cannot import name 'EnvVar' from 'crewai.tools'

Open AImicrowave opened this issue 5 months ago • 8 comments

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!

AImicrowave avatar Jul 07 '25 12:07 AImicrowave

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?

strnad avatar Jul 07 '25 13:07 strnad

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.

AImicrowave avatar Jul 08 '25 07:07 AImicrowave

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)

AImicrowave avatar Jul 08 '25 07:07 AImicrowave

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

strnad avatar Jul 08 '25 08:07 strnad

Thank you for helping me, I will try using these versions and I will text here if it was succesful

AImicrowave avatar Jul 08 '25 08:07 AImicrowave

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!

AImicrowave avatar Jul 08 '25 08:07 AImicrowave

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.6 and crewAI_tools = 0.5.1) are either not available or incompatible.
  • Installing crewAI_tools from PyPI without pinning the version results in ImportError: cannot import name 'EnvVar' from 'crewAI.tools'.
  • The error will persist unless a matching pair of crewAI and crewAI_tools versions is used, or the code is updated to remove the dependency on EnvVar.

onestardao avatar Aug 13 '25 04:08 onestardao

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...

RHuebner1972 avatar Aug 18 '25 21:08 RHuebner1972