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…