I am getting a PydanticImport Error when importing chromadb in jupyter notebook
01:38 02 Feb 2024

I am new to Jupyter, ML and learning it. I am trying import chromadb and getting the below error. Seems like the pydantic v2 hsa some breaking changes and i am unable to get past it.


PydanticImportError                       Traceback (most recent call last)
Cell In[9], line 2
      1 from pydantic.v1 import BaseSettings
----> 2 import chromadb

File ~/.local/lib/python3.8/site-packages/chromadb/__init__.py:1
----> 1 import chromadb.config
      2 import logging
      3 from chromadb.telemetry.events import ClientStartEvent

File ~/.local/lib/python3.8/site-packages/chromadb/config.py:1
----> 1 from pydantic import BaseSettings
      2 from typing import List
      4 TELEMETRY_WHITELISTED_SETTINGS = ["chroma_db_impl", "chroma_api_impl", "chroma_server_ssl_enabled"]

File ~/.local/lib/python3.8/site-packages/pydantic/__init__.py:374, in __getattr__(attr_name)
    372 dynamic_attr = _dynamic_imports.get(attr_name)
    373 if dynamic_attr is None:
--> 374     return _getattr_migration(attr_name)
    376 package, module_name = dynamic_attr
    378 from importlib import import_module

File ~/.local/lib/python3.8/site-packages/pydantic/_migration.py:296, in getattr_migration..wrapper(name)
    294     return import_string(REDIRECT_TO_V1[import_path])
    295 if import_path == 'pydantic:BaseSettings':
--> 296     raise PydanticImportError(
    297         '`BaseSettings` has been moved to the `pydantic-settings` package. '
    298         f'See https://docs.pydantic.dev/{version_short()}/migration/#basesettings-has-moved-to-pydantic-settings '
    299         'for more details.'
    300     )
    301 if import_path in REMOVED_IN_V2:
    302     raise PydanticImportError(f'`{import_path}` has been removed in V2.')

PydanticImportError: `BaseSettings` has been moved to the `pydantic-settings` package. See https://docs.pydantic.dev/2.6/migration/#basesettings-has-moved-to-pydantic-settings for more details.

For further information visit https://errors.pydantic.dev/2.6/u/import-error

I have tried a few things like:

  1. install pydantic-settings and tried from pydantic_settings import BaseSettings and then try import chromadb
jupyter-notebook chromadb pydantic-v2