iwantcoding.com
🔥 Daily 👥 Rooms 🏆 Top Log in Sign up

Install

Installing LangChain in a clean Python env, pinning versions, and adding the provider packages you actually need.

LangChain — install

EXAMPLE
# ===== 1. Python env =====
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip

# ===== 2. Core =====
pip install langchain langchain-core langchain-community

# langchain-core: stable interfaces + types
# langchain-community: community-maintained integrations (huge)
# langchain (umbrella): re-exports for convenience

# ===== 3. Provider packages (install only what you use) =====
pip install langchain-openai            # OpenAI
pip install langchain-anthropic         # Anthropic / Claude
pip install langchain-google-genai      # Gemini
pip install langchain-google-vertexai   # Vertex AI
pip install langchain-mistralai         # Mistral
pip install langchain-aws               # Bedrock
pip install langchain-ollama            # local Ollama

# ===== 4. Vector store packages (optional) =====
pip install langchain-chroma            # local
pip install langchain-pinecone          # managed
pip install langchain-weaviate          # managed
pip install langchain-qdrant            # managed / self-host

# ===== 5. Set env vars =====
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=...
export GOOGLE_API_KEY=...

# Or in a .env (with python-dotenv):
pip install python-dotenv

# .env
OPENAI_API_KEY=sk-...

# ===== 6. Smoke test =====
python - <<'PY'
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage
llm = ChatOpenAI(model='gpt-4o-mini', temperature=0)
print(llm.invoke([HumanMessage('Say hi in one word.')]).content)
PY

# ===== 7. Useful add-ons =====
pip install langgraph                   # stateful workflow graphs
pip install langsmith                   # tracing + evals (paid)
pip install langserve                   # FastAPI deploy

# Run a chain as a server:
# from langchain_core.runnables import RunnablePassthrough
# from langserve import add_routes
# from fastapi import FastAPI
# app = FastAPI()
# add_routes(app, llm, path='/llm')

# ===== 8. Pin versions =====
# requirements.txt
langchain==0.2.x
langchain-core==0.2.x
langchain-community==0.2.x
langchain-openai==0.1.x
python-dotenv==1.0.x

# ===== 9. Use uv (modern install path) =====
pip install uv
uv venv && source .venv/bin/activate
uv pip install langchain langchain-openai

# ===== Patterns to internalise =====
# - Install only the provider packages you use; the umbrella package no longer pulls them all
# - Pin versions; LangChain releases frequently
# - Use .env + python-dotenv for keys
# - Trace with LangSmith from day one

# ===== Pitfalls =====
# - Mixing 'langchain' classic imports with new modular paths in the same file
# - No timeouts on LLM calls -> stuck pipelines
# - API keys committed to git
# - Pinning only 'langchain' but not its providers -> version skew

Why it matters

pip install langchain + a provider + a vector store and you have everything for a first chain. Keep providers explicit, pin versions, store keys in .env, and add LangSmith tracing early. The framework moves fast; lockfiles save Saturday nights.

Tip: Tweak the snippet with Try it Yourself », then sit the quiz at the bottom of the page.

Example

Example
pip install langchain langchain-openai langchain-community
pip install chromadb langchain-chroma   # vector store
export OPENAI_API_KEY=sk-...
Try it Yourself »

Discussion

Loading…