{"record":{"id":"1509a060674500f8","repo":"mem0ai/mem0","slug":"pinecone-requires-extra-dependencies-install-with","errorCode":null,"errorMessage":"Pinecone requires extra dependencies. Install with `pip install pinecone pinecone-text`","messagePattern":"Pinecone requires extra dependencies\\. Install with `pip install pinecone pinecone-text`","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"mem0/vector_stores/pinecone.py","lineNumber":10,"sourceCode":"import logging\nimport os\nfrom typing import Any, Dict, List, Optional, Union\n\nfrom pydantic import BaseModel\n\ntry:\n    from pinecone import Pinecone, PodSpec, ServerlessSpec, Vector\nexcept ImportError:\n    raise ImportError(\n        \"Pinecone requires extra dependencies. Install with `pip install pinecone pinecone-text`\"\n    ) from None\n\nfrom mem0.vector_stores.base import VectorStoreBase\n\nlogger = logging.getLogger(__name__)\n\n\nclass OutputData(BaseModel):\n    id: Optional[str]  # memory id\n    score: Optional[float]  # distance\n    payload: Optional[Dict]  # metadata\n\n\nclass PineconeDB(VectorStoreBase):\n    def __init__(\n        self,\n        collection_name: str,","sourceCodeStart":1,"sourceCodeEnd":28,"githubUrl":"https://github.com/mem0ai/mem0/blob/001c235229be8795e3834520467bd0d661ed8f34/mem0/vector_stores/pinecone.py#L1-L28","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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."],"exampleFix":"# before: ImportError at import time\nfrom mem0.vector_stores.pinecone import Pinecone  # boom\n\n# after\n# pip install pinecone pinecone-text\nfrom mem0.vector_stores.pinecone import Pinecone  # ok","handlingStrategy":"try-catch","validationCode":"import importlib.util\n\nfor mod in (\"pinecone\", \"pinecone_text\"):\n    if importlib.util.find_spec(mod) is None:\n        raise SystemExit(f\"Missing dependency: {mod}. Run: pip install pinecone pinecone-text\")","typeGuard":null,"tryCatchPattern":"try:\n    from mem0.vector_stores.pinecone import Pinecone\nexcept ImportError as e:\n    raise RuntimeError(f\"Vector backend unavailable: {e}. Install extras before enabling the pinecone provider.\") from e","preventionTips":["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."],"tags":["dependencies","pinecone","import-error","installation","vector-store"],"backgroundTag":null,"analyzedSha":"001c235229be8795e3834520467bd0d661ed8f34","analyzedAt":"2026-08-15T01:55:42.685Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}