mem0ai/mem0 · error · ImportError

Pinecone requires extra dependencies. Install with `pip inst

Error message

Pinecone requires extra dependencies. Install with `pip install pinecone pinecone-text`

What it means

Raised at import time when the optional `pinecone` client (and `pinecone-text`, used for sparse/hybrid search) is not installed in the environment. mem0 ships provider SDKs as optional extras, so loading mem0.vector_stores.pinecone without them fails before any class is usable. The `from None` suppresses the chained ImportError so only this actionable message shows.

Source

Thrown at mem0/vector_stores/pinecone.py:10

import logging
import os
from typing import Any, Dict, List, Optional, Union

from pydantic import BaseModel

try:
    from pinecone import Pinecone, PodSpec, ServerlessSpec, Vector
except ImportError:
    raise ImportError(
        "Pinecone requires extra dependencies. Install with `pip install pinecone pinecone-text`"
    ) from None

from mem0.vector_stores.base import VectorStoreBase

logger = logging.getLogger(__name__)


class OutputData(BaseModel):
    id: Optional[str]  # memory id
    score: Optional[float]  # distance
    payload: Optional[Dict]  # metadata


class PineconeDB(VectorStoreBase):
    def __init__(
        self,
        collection_name: str,

View on GitHub (pinned to 001c235229)

Solutions

  1. Run `pip install pinecone pinecone-text` in the same environment that runs mem0.
  2. If it persists after install, verify the interpreter: `python -c "import pinecone; print(pinecone.__version__)"` — a mismatched venv/PATH is the usual cause.
  3. Pin the packages in requirements.txt/pyproject.toml (e.g. `pinecone>=3.0.0`, `pinecone-text>=0.7.0`) so builds stay reproducible.

Example fix

# before: ImportError at import time
from mem0.vector_stores.pinecone import Pinecone  # boom

# after
# pip install pinecone pinecone-text
from mem0.vector_stores.pinecone import Pinecone  # ok
Defensive patterns

Strategy: try-catch

Validate before calling

import importlib.util

for mod in ("pinecone", "pinecone_text"):
    if importlib.util.find_spec(mod) is None:
        raise SystemExit(f"Missing dependency: {mod}. Run: pip install pinecone pinecone-text")

Try / catch

try:
    from mem0.vector_stores.pinecone import Pinecone
except ImportError as e:
    raise RuntimeError(f"Vector backend unavailable: {e}. Install extras before enabling the pinecone provider.") from e

Prevention

When it happens

Trigger: Any of: `from mem0.vector_stores.pinecone import Pinecone`, configuring Memory/vector_store with `"provider": "pinecone"`, or letting mem0's provider factory lazy-import this module — all in an environment where `import pinecone` raises ImportError.

Common situations: Fresh virtualenv with only the base `mem0ai` package installed; CI pipelines that cache a minimal dependency set; deploying to Docker/Lambda images built from a slim requirements list; enabling hybrid_search after the base install without adding pinecone-text.

Related errors


AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15). Data as JSON: /api/errors/1509a060674500f8. Report an issue: GitHub.