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
- Run `pip install pinecone pinecone-text` in the same environment that runs mem0.
- If it persists after install, verify the interpreter: `python -c "import pinecone; print(pinecone.__version__)"` — a mismatched venv/PATH is the usual cause.
- 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
- Install provider SDKs in the same environment/interpreter that runs mem0, not a global one.
- Add optional provider dependencies to your lockfile the moment you reference the provider in config.
- Gate optional providers behind a dependency check in startup health checks.
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
- The 'boto3' library is required. Please install it using 'pi
- The 'vecs' library is required. Please install it using 'pip
- Turbopuffer requires extra dependencies. Install with `pip i
- The 'upstash_vector' library is required. Please install it
- The 'upstash_vector' library is required. Please install it
AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15).
Data as JSON: /api/errors/1509a060674500f8.
Report an issue: GitHub.