# langgraphlearning **Repository Path**: ilinxq/langgraphlearning ## Basic Information - **Project Name**: langgraphlearning - **Description**: LangGraph自学习 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-21 - **Last Updated**: 2025-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LangGraph Learning ## ubuntu下使用pyenv安装多个版本的python `pyenv` 是 Python 版本管理工具,可并行安装多个版本,不干扰系统配置,适合开发环境。 ### 步骤 1:安装 pyenv 依赖 ``` shell sudo apt update && sudo apt install -y \ make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev \ liblzma-dev python3-openssl git ``` ### 步骤 2:安装 pyenv ``` shell # 自动安装(官方推荐) curl https://pyenv.run | bash # 配置环境变量(适配 bash 终端,zsh 需替换为 ~/.zshrc) echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc # 生效配置 source ~/.bashrc ``` ### 步骤 3:安装最新版 Python ``` shell # 查看可安装的最新版本(含稳定版/开发版) pyenv install --list | grep -E "3\.(13|14)" # 安装最新稳定版(如 3.13.0,替换为实际查到的版本号) pyenv install 3.13.0 # LXQ:使用上面可以安装多个Python版本 # LXQ(2025/12/6):当前不适合使用最新的Python 3.14,最高能到3.13 # 验证安装 pyenv versions # 输出包含 3.13.0 则成功 ``` ### 步骤 4:设置 Python 版本 ``` shell # 仅当前目录生效(推荐,避免全局影响) pyenv local 3.13.0 # 全局生效(所有终端,谨慎使用) # pyenv global 3.13.0 # 验证版本 python --version # 输出 Python 3.13.0 python3 --version # 同步指向 3.13.0 ``` ## venv 环境 ``` bash git clone ...../langgraphlearning.git cd langgraphlearning python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip ``` ## 安装依赖 ``` bash # https://docs.langchain.com/oss/python/langgraph/overview pip install -U langgraph # with langchain pip install -U langchain # qwen模型采用openai初始化 pip install -U langchain-openai # 用于加载.env文件 pip install python-dotenv # 使用langgraph-cli # [inmem] 是其预定义的可选依赖组,对应「内存型状态存储」功能所需的依赖: # 1. 核心作用:安装 langgraph-cli 的同时,自动安装支持 “内存中持久化 LangGraph 状态” 的依赖包(如轻量级内存数据库、状态序列化工具等); # 2. 适用场景:使用 langgraph-cli 调试 / 运行 LangGraph 应用时,需要临时将工作流状态存储在内存中(而非文件 / 数据库),适合本地开发、快速测试场景; # 3. 省略 [inmem] 的区别:若仅执行 pip install langgraph-cli,只会安装 CLI 的基础功能(如流程编译、命令行交互),但无法使用内存存储相关的高级功能(如状态持久化、断点续跑)。 # LXQ(2025/12/6):inmem 需要使用本地rust进行编译,需要提前安装好Rust pip install -U "langgraph-cli[inmem]" ``` ## ubuntu下安装 Rust ``` shell # 1. 首先确保系统安装了必要的依赖(用于编译 Rust 项目,如 gcc、make 等): # 更新软件源 sudo apt update # 安装编译依赖 sudo apt install -y build-essential gcc make curl pkg-config libssl-dev # 2. 安装最新版 Rust(通过 rustup) # 执行官方安装脚本: # 下载并运行 rustup 安装脚本(自动安装最新稳定版) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # 3.运行脚本后会出现交互提示,默认选择 1(Proceed with installation (default)) 即可 # 4.安装完成后,需手动加载 Rust 环境变量(或重启终端) # LXQ:选择重启终端最好 # 5.验证安装是否成功 # 检查 rustc 版本(最新稳定版) rustc --version # 检查 cargo 版本(Rust 包管理器) cargo --version # 检查 rustup 版本 rustup --version ``` ## local server 环境搭建最佳实践 > - `langgraph new ./localserver --template new-langgraph-project-python` 要求不存在`localserver`目录或目录为空。 > - `langgraph new` 创建的项目下不存在 `.venv`。 > - 使用`langgraph new`前要先安装它。 > > 考虑使用`.venv`来管理`langgraph new`项目,因此: >> 以下Python 3.13.0 1. 在全局`pyenv`下安装`python 3.13.0`,并切换版本: ``` shell pyenv global 3.13.0 # 或在需要`langgraph new`建立项目的目录下: pyenv local 3.13.0 ``` 2. 安装`langgraph` ``` shell # LXQ:如果在全局环境下安装过langgraph,则在虚拟环境下会安装很快,要保持虚拟与全局python版本一致。 # Python >= 3.11 is required. pip install -U "langgraph-cli[inmem]" # 验证安装 which langgraph ``` 3. `langgraph new`创建项目 ``` shell langgraph new localserver --template new-langgraph-project-python ``` 4. 在项目目录`localserver`建立虚拟环境 ``` shell cd localserver # python 3.13.0 python -m venv .venv # 激活虚拟环境 source .venv/bin/activate # update pip pip install --upgrade pip ``` 5. 安装`localserver`项目依赖 ```shell # 根据 pyproject.toml 或 setup.py进行依赖安装 pip install -e . ``` 6. 部分错误提示 Q:错误信息 ``` shell ImportError: cannot import name 'AsyncGeneration' from 'dashscope' (/home/lxq/langgraph/langgraphlearning/.venv/lib/python3.13/site-packages/dashscope/__init__.py). Did you mean: 'AioGeneration'? Could not import python module for graph: GraphSpec(id='qwen_agent', path='./src/agent/qwen_agent.py', module=None, variable='qwen_graph', config={}, description=None) This error likely means you haven't installed your project and its dependencies yet. Before running the server, install your project: If you are using requirements.txt: python -m pip install -r requirements.txt If you are using pyproject.toml or setuptools: python -m pip install -e . ``` A: 需要安装依赖,如:`python -m pip install -e .`