跳到内容
当前位置:首页>Excel>LangChain 学习笔记(一):开发环境搭建与基础配置

LangChain 学习笔记(一):开发环境搭建与基础配置

  • 2026-11-05 02:11:18
LangChain 学习笔记(一):开发环境搭建与基础配置
学习 LangChain 之前,我们首先需要搭建好 Python 开发环境。
这篇文章主要解决几个问题:
Python 开发中,conda、uv、pip、venv 分别是什么?应该选择哪个?
LangChain 有哪些依赖包?应该如何安装?
如何使用 uv 创建一个独立的 LangChain 项目?
大模型 API 服务有哪些?如何获取 API Key?
如何配置环境变量,让 Python 程序调用大模型?
本文以 Windows + Python 3.12 + uv 为例,从零开始搭建一个 LangChain 开发环境。

一、Python 环境管理:conda、uv、pip、venv 是什么?

在开发 Python 项目时,我们经常会遇到一个问题:
不同项目依赖的 Python 版本和第三方库可能不同,如何避免它们互相干扰?
例如:
项目 A 使用 Python 3.10,需要 numpy 1.x。
项目 B 使用 Python 3.12,需要 numpy 2.x。
项目 C 使用 LangChain,需要安装 langchain、langchain-openai 等依赖。
如果所有项目都使用同一个 Python 环境,依赖版本很容易发生冲突。
因此,Python 开发通常需要解决两个问题:
环境隔离:不同项目使用独立的 Python 运行环境和依赖。
包管理:安装、升级、卸载项目所需要的第三方库。
围绕这两个问题,Python 生态中出现了几个常见工具。

1.1 四种工具分别是什么?

工具
环境隔离
Python 版本管理
第三方包安装
主要作用
venv
支持
不负责安装和管理
不负责,通常搭配 pip
创建虚拟环境
pip
不负责
不负责
支持
安装 Python 包
conda
支持
支持
支持
管理环境、Python 和软件包
uv
支持
支持
支持
一站式 Python 项目管理
简单理解:
venv + pip:Python 传统组合。venv 负责创建虚拟环境,pip 负责安装依赖。
conda:不仅能管理 Python 环境和第三方包,还能管理部分非 Python 依赖,例如 C/C++ 库。适合数据科学、科学计算和部分深度学习场景。
uv:新一代 Python 项目管理工具,使用 Rust 编写,集成了 Python 版本管理、虚拟环境、依赖安装和锁文件管理等功能。

1.2 conda 和 uv 应该怎么选?

对于刚接触 Python 的开发者,最容易纠结的就是 conda 和 uv。
这里做一个简单对比:
对比维度
conda
uv
安装依赖
相对较慢,取决于仓库和依赖解析
通常非常快
Python 版本管理
支持
支持
虚拟环境
支持
支持
依赖锁定
environment.yml 等
uv.lock
包来源
Conda 仓库、PyPI(通过 pip)
PyPI 等包索引
非 Python 依赖
支持管理部分原生库
不负责通用原生库管理
安装体积
完整发行版可能较大
工具本身较轻量
uv 的一个明显优势是速度快。官方介绍中,其 pip 兼容接口在部分场景下可以达到 10~100 倍的速度提升,但具体速度取决于项目和网络环境。
那么,学习 LangChain 应该选择哪个?
我更推荐 uv。
原因很简单:
LangChain 本身是 Python 生态中的第三方库,主要通过 PyPI 安装。
uv 可以完成我们学习 LangChain 所需要的环境管理和依赖安装。
uv.lock 可以记录精确的依赖版本,方便后续复现开发环境。
不需要为了学习 LangChain 专门安装一套较重的 Anaconda。
什么时候还需要 conda?
如果后续学习深度学习、科学计算,需要管理复杂的 CUDA、C/C++ 依赖,或者使用某些 Conda 仓库提供的软件包,conda 仍然很有价值。
本系列教程统一使用 uv 管理 Python 环境。

二、认识 LangChain 的依赖包

在安装之前,先了解一下 LangChain 的包结构。
LangChain 并不是一个包含所有功能的单体软件,而是采用模块化设计,将核心功能、模型集成、向量数据库等拆分成不同的包。

2.1 核心包

包名
作用
langchain
LangChain 主要开发接口和高层功能
langchain-core
核心抽象、消息、提示词、Runnable 等基础组件
langchain-community
社区维护的各种集成
langchain-cli
命令行辅助工具,可选
其中,langchain-core 通常会作为 langchain 的依赖自动安装,不需要单独安装。

2.2 大模型集成包

LangChain 将不同模型厂商的集成拆分成独立的包。
包名
对应平台
langchain-openai
OpenAI
langchain-anthropic
Anthropic
langchain-google-genai
Google Gemini
langchain-ollama
Ollama 本地模型
langchain-deepseek
需要根据具体集成方式选择对应 SDK 或 OpenAI 兼容接口
例如,我们想使用 OpenAI 的模型,需要安装:
uv add langchain-openai
如果想使用 Anthropic 的 Claude,则需要安装:
uv add langchain-anthropic

2.3 功能扩展包

除了模型集成,LangChain 还支持很多第三方工具和基础设施。
包名
作用
langchain-chroma
Chroma 向量数据库
langchain-elasticsearch
Elasticsearch 集成
langchain-redis
Redis 集成
langchain-postgres
PostgreSQL 集成
python-dotenv
读取 .env 环境变量文件
安装原则:用到什么,再安装什么。
不需要一开始就把所有 LangChain 相关的包全部安装。这样既可以减少不必要的依赖,也能让项目保持简洁。

三、安装 uv 并创建项目

3.1 安装 uv

uv 支持 Windows、macOS 和 Linux。
Windows 环境下,打开 PowerShell,执行:
# Windows(PowerShell)powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"# macOS / Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh
安装完成后,检查是否安装成功:
uv --version
如果能够正常显示版本号,就说明安装成功。
也可以使用 pip 安装:
pip install uv
不过,推荐使用官方安装脚本,这样不需要依赖已有的 Python 环境。

3.2 创建 LangChain 项目

下面开始创建我们的第一个 LangChain 项目。
# 1. 创建项目目录mkdir langchain-course && cd langchain-course# 2. 用 uv 初始化项目(自动创建虚拟环境 + pyproject.toml)uv init# 3. 指定 Python 版本(推荐 3.12)uv python pin 3.12# 4. 安装 LangChain 核心包uv add langchain# 5. 按需安装模型提供商集成(选你要用的)uv add langchain-openai           # OpenAI(GPT-4 等)uv add langchain-anthropic        # Anthropic(Claude 系列)uv add langchain-google-genai     # Google Geminiuv add langchain-deepseek         # DeepSeekuv add langchain-ollama           # Ollama 本地模型# 6. 按需安装功能扩展包uv add langchain-chroma           # Chroma 向量数据库uv add python-dotenv              # .env 环境变量加载

3.3 为什么推荐使用 uv add,而不是 uv pip install?

两者都可以安装 Python 包,但是用途有所不同。
uv add:
uv add langchain-openai
除了安装依赖,还会:
将依赖记录到 pyproject.toml。
更新 uv.lock 锁文件。
同步当前项目的虚拟环境。
uv pip install:
uv pip install langchain-openai
它更接近传统 pip 的使用方式,适合直接向指定虚拟环境安装包,但不会自动把依赖写入项目的 pyproject.toml。
所以,如果使用 uv 管理一个正式项目,推荐使用 uv add。

四、理解项目文件:pyproject.toml、uv.lock 和 .venv

执行完上面的命令后,项目目录大致如下:
langchain-course/├── .venv/              # 虚拟环境(uv 自动创建)├── pyproject.toml      # 项目配置 + 依赖清单(你手动管理)├── uv.lock             # 依赖锁文件(uv 自动生成)└── main.py             # 入口文件
这几个文件是 uv 项目管理中非常重要的部分。
可以用一个购物的例子来理解:
文件
类比
作用
pyproject.toml
购物清单
记录需要哪些依赖
uv.lock
实际采购清单
记录最终解析出的精确依赖版本
.venv
储物空间
实际安装 Python 和第三方包的环境

4.1 pyproject.toml:我需要什么?

这是项目的配置文件,记录项目名称、Python 版本要求和依赖列表。
[project]name = "langchain-demo"version = "0.1.0"requires-python = ">=3.10"dependencies = [    "langchain>=1.2.15",    "langchain-openai>=1.1.15",    "langchain-anthropic>=1.4.1",    "langchain-ollama>=1.1.0",    "openai>=2.32.0",    "python-dotenv>=1.1.0",    "notebook>=7.5.5",]
每次执行:
uv add langchain-openai
uv 都会自动更新这个文件。
这里需要注意:
requires-python = ">=3.12" 表示项目要求 Python 3.12 或更高版本,并不代表只能使用 3.12。

4.2 uv.lock:我实际安装了什么?

pyproject.toml 记录的是我们需要哪些依赖,而 uv.lock 记录的是依赖解析之后的精确版本信息。
例如:
我们只要求安装 langchain,但是 LangChain 自己还依赖其他 Python 包。
uv 会自动分析依赖关系,并确定各个包应该安装哪个版本。
这样就能解决一个很常见的问题:
为什么我的电脑可以运行,换到同事的电脑就报错了?
可能是因为两台电脑安装的第三方依赖版本不同。
有了 uv.lock,就可以让团队成员尽可能使用相同的依赖版本。
假设同事拿到了项目代码,只需要执行:
uv sync
uv 就会根据 pyproject.toml 和 uv.lock 同步项目环境。
注意:Python 版本本身也需要满足项目要求,不能只依赖锁文件。

4.3 .venv:实际运行环境

.venv 是项目的虚拟环境目录。
我们通过 uv add 安装的第三方依赖,都会进入这个项目对应的环境,而不是直接安装到系统全局 Python 中。
这样不同项目之间就可以实现依赖隔离。
项目A/└── .venv/└── numpy 1.x项目B/└── .venv/└── numpy 2.x
两个项目可以使用不同版本的 numpy,互不影响。

4.4 哪些文件需要提交到 Git?

建议提交:
pyproject.tomluv.lock
不需要提交:
.venv.env
其中,.venv 是本地虚拟环境,体积可能比较大;.env 通常包含 API Key 等敏感信息。

五、如何验证 LangChain 安装成功?

进入项目目录,执行:
uv run python -c "import langchain; print('LangChain 安装成功')"
如果能够正常输出:
LangChain 安装成功
说明 LangChain 已经可以正常导入。
也可以查看当前安装的版本:
uv run python -c "from importlib.metadata import version; print(version('langchain'))"
这里使用 uv run,可以确保 Python 命令运行在当前项目对应的虚拟环境中。
后续运行项目中的 Python 程序,也可以使用:
uv run main.py
不需要每次手动激活虚拟环境。

六、常用大模型 API 平台介绍

环境搭建完成后,还需要解决一个问题:
LangChain 如何调用大模型?
LangChain 本身并不提供大模型的计算能力,它更像是一个连接不同大模型和应用功能的开发框架。
真正负责模型推理的是 OpenAI、DeepSeek、Anthropic 等模型服务平台,LangChain 通过 API 与它们通信。
因此,我们需要先注册模型服务平台,获取 API Key。

6.1 海外模型官方平台

平台
官方地址
代表模型
特点
OpenAI
https://platform.openai.com/
GPT 系列
模型生态成熟,开发资料丰富
Anthropic
https://console.anthropic.com/
Claude 系列
长文本处理和代码能力突出
Google AI Studio
https://aistudio.google.com/
Gemini 系列
提供模型体验和 API 开发入口
使用这些平台时,需要注意所在地区的服务可用性、账号注册要求、付款方式以及 API 使用政策。
另外,ChatGPT、Claude 等网页订阅服务与对应的 API 服务通常是独立计费的,购买网页会员并不意味着自动获得 API 额度。

6.2 国内模型服务平台

如果主要在国内学习和开发,可以优先考虑国产模型平台。
平台
官方地址
代表模型
特点
DeepSeek 开放平台
https://platform.deepseek.com/
DeepSeek 系列
性价比较高,支持 API 调用
阿里云百炼
https://bailian.console.aliyun.com/
Qwen 系列
提供模型调用及相关开发服务
硅基流动
https://www.siliconflow.cn/
DeepSeek、Qwen 等
提供多种开源模型的推理服务
智谱 AI
https://open.bigmodel.cn/
GLM 系列
提供模型 API 和开发平台
这些平台的具体模型、免费额度、计费方式和 API 接口可能发生变化,注册前建议查看各自的官方文档。

6.3 初学者应该如何选择?

如果只是为了学习 LangChain,不需要一开始就注册很多平台。
可以根据自己的情况选择:
使用场景
建议
有海外官方 API 使用条件
优先使用 OpenAI 等官方 API
国内网络环境
可以选择 DeepSeek、阿里云百炼、硅基流动等
想对比不同模型
可以尝试 OpenRouter
想学习本地模型
可以使用 Ollama
这样可以先掌握 LangChain 的调用方式,后续更换模型时,只需要根据平台要求修改模型名称、API Key 和 Base URL 等配置。

七、配置 API Key 和环境变量

注册模型服务平台之后,通常需要完成以下操作:
1. 注册平台账号。
2. 创建 API Key。
3. 查看平台提供的模型名称和 API 接口地址。
4. 在 Python 项目中配置 API Key 和 Base URL。
5. 使用 LangChain 调用模型。
这里先介绍两种环境变量配置方式。

7.1 使用 .env 文件配置

在实际项目开发中,我更推荐使用 .env 文件管理 API 配置。
首先,在项目根目录创建一个 .env 文件:
langchain-course/├── .venv/├── .env├── pyproject.toml├── uv.lock└── main.py
在 .env 中填写:
# OpenAI配置(使用CloseAI代理)OPENAI_API_KEY=sk-your-api-keyOPENAI_BASE_URL=https://api.closeai-asia.com/v1# Anthropic配置(可选)ANTHROPIC_API_KEY=sk-ant-your-api-key# DeepSeek配置(可选)DEEPSEEK_API_KEY=sk-your-deepseek-key
这里的 API Key、Base URL 和模型名称都需要替换成你所使用的平台提供的实际信息。
接下来,在 Python 程序中读取环境变量。
首先安装 python-dotenv:
uv add python-dotenv
编写代码:
from dotenv import load_dotenvimport os# 加载.env文件load_dotenv()# 读取环境变量api_key = os.getenv("OPENAI_API_KEY")base_url = os.getenv("OPENAI_BASE_URL")print(api_key)
这样就可以在 Python 程序中使用环境变量了。
这里有一个容易踩的坑:
python-dotenv 和 dotenv 是两个不同的 Python 包。
我们使用的:
from dotenv import load_dotenv
实际需要安装的是:
uv add python-dotenv
不要把包名和 Python 导入名称混淆。

7.2 Windows 全局环境变量配置

除了 .env 文件,我们还可以通过 Windows 设置全局环境变量。
适合在个人学习电脑上配置一些经常使用的环境变量。
设置步骤:
右键「此电脑」→「属性」。
进入「高级系统设置」。
点击「环境变量」。
在「用户变量」中点击「新建」。
例如:
变量名:OPENAI_API_KEY
变量值:sk-your-api-key
如果需要使用自定义 API 地址,也可以继续添加:OPENAI_BASE_URL
变量值填写对应平台的 API 地址。
配置完成后,重新打开终端或 IDE,让新环境变量生效。
在 Python 中,直接通过 os.getenv() 就可以读取:
import osapi_key = os.getenv("OPENAI_API_KEY")print("API Key 是否配置成功:", bool(api_key))
注意:不要直接打印完整 API Key,以免密钥泄露。

7.3 .env 和 Windows 全局环境变量应该怎么选?

对比
.env 文件
Windows 全局环境变量
配置范围
当前项目
当前用户或系统
项目独立性
好
较弱
团队协作
可以通过模板共享配置项
不方便
密钥管理
需要保护文件
需要保护系统配置
推荐场景
实际项目开发
个人本机长期使用
我的建议:
项目开发优先使用 .env,个人电脑可以根据需要设置全局环境变量。
特别注意,.env 文件不要提交到 Git 仓库。
如果需要让其他开发者知道项目需要配置哪些环境变量,可以额外提供一个 .env.example 文件,但里面只能填写变量名称和示例值,不能放真实密钥。

八、使用 LangChain 调用大模型

前面已经完成了:
Python 环境搭建。
LangChain 依赖安装。
大模型平台注册。
API Key 获取。
环境变量配置。
现在就可以尝试使用 LangChain 调用大模型了。
首先,确保已经安装:
uv add langchain-openai
在 main.py 中编写:
import osfrom dotenv import load_dotenvfrom langchain_openai import ChatOpenAIload_dotenv()# 实例化大模型llm = ChatOpenAI(openai_api_key=os.getenv("OPENAI_API_KEY"),openai_api_base=os.getenv("OPENAI_API_BASE"), model_name="glm-5")# 调用模型的invoke 得到模型的响应res = llm.invoke("你好,我想了解下你这个模型的情况")# 输出print(res)
执行:
uv run main.py
如果 API Key、Base URL 和模型名称配置正确,并且当前平台支持相应接口,就可以看到大模型返回的内容。
这里需要注意:
ChatOpenAI 主要用于 OpenAI 及其兼容接口。并不是所有模型平台都完全兼容 OpenAI 接口,也不是所有模型都支持相同的参数和功能。
如果后续使用 Anthropic、Google Gemini 等平台的原生集成,可以使用对应的集成包和模型类。
至此,我们就完成了 LangChain 的基础开发环境搭建。
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-11-07 02:18:39 HTTP/1.1 GET : http://h.sjds.net/a/573700.html
  2. 运行时间 : 0.074840s [ 吞吐率:13.36req/s ] 内存消耗:4,240.27kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=e66b463cee3f2172e43d2036ee8f827c
  1. /www/wwwroot/h.sjds.net/public/index.php ( 0.79 KB )
  2. /www/wwwroot/h.sjds.net/vendor/autoload.php ( 0.17 KB )
  3. /www/wwwroot/h.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /www/wwwroot/h.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
  5. /www/wwwroot/h.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /www/wwwroot/h.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /www/wwwroot/h.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /www/wwwroot/h.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /www/wwwroot/h.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /www/wwwroot/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /www/wwwroot/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /www/wwwroot/h.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /www/wwwroot/h.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /www/wwwroot/h.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /www/wwwroot/h.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /www/wwwroot/h.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /www/wwwroot/h.sjds.net/app/provider.php ( 0.19 KB )
  23. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /www/wwwroot/h.sjds.net/app/common.php ( 0.03 KB )
  27. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /www/wwwroot/h.sjds.net/config/app.php ( 0.95 KB )
  30. /www/wwwroot/h.sjds.net/config/cache.php ( 0.78 KB )
  31. /www/wwwroot/h.sjds.net/config/console.php ( 0.23 KB )
  32. /www/wwwroot/h.sjds.net/config/cookie.php ( 0.56 KB )
  33. /www/wwwroot/h.sjds.net/config/database.php ( 2.48 KB )
  34. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /www/wwwroot/h.sjds.net/config/filesystem.php ( 0.61 KB )
  36. /www/wwwroot/h.sjds.net/config/lang.php ( 0.91 KB )
  37. /www/wwwroot/h.sjds.net/config/log.php ( 1.35 KB )
  38. /www/wwwroot/h.sjds.net/config/middleware.php ( 0.19 KB )
  39. /www/wwwroot/h.sjds.net/config/route.php ( 1.89 KB )
  40. /www/wwwroot/h.sjds.net/config/session.php ( 0.57 KB )
  41. /www/wwwroot/h.sjds.net/config/trace.php ( 0.34 KB )
  42. /www/wwwroot/h.sjds.net/config/view.php ( 0.82 KB )
  43. /www/wwwroot/h.sjds.net/app/event.php ( 0.25 KB )
  44. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /www/wwwroot/h.sjds.net/app/service.php ( 0.13 KB )
  46. /www/wwwroot/h.sjds.net/app/AppService.php ( 0.26 KB )
  47. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /www/wwwroot/h.sjds.net/vendor/services.php ( 0.14 KB )
  53. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /www/wwwroot/h.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /www/wwwroot/h.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /www/wwwroot/h.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /www/wwwroot/h.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /www/wwwroot/h.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /www/wwwroot/h.sjds.net/app/Request.php ( 0.09 KB )
  84. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /www/wwwroot/h.sjds.net/app/middleware.php ( 0.25 KB )
  86. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /www/wwwroot/h.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /www/wwwroot/h.sjds.net/route/app.php ( 1.72 KB )
  100. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /www/wwwroot/h.sjds.net/app/controller/Index.php ( 4.81 KB )
  104. /www/wwwroot/h.sjds.net/app/BaseController.php ( 2.05 KB )
  105. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /www/wwwroot/h.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /www/wwwroot/h.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /www/wwwroot/h.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /www/wwwroot/h.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /www/wwwroot/h.sjds.net/runtime/temp/c1d6e8c94b2c2fa10e259903674c804d.php ( 8.11 KB )
  140. /www/wwwroot/h.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000468s ] mysql:host=172.18.0.4;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000639s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000309s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000334s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000500s ]
  6. SELECT * FROM `set` [ RunTime:0.000256s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000618s ]
  8. SELECT * FROM `article` WHERE `id` = 573700 LIMIT 1 [ RunTime:0.000416s ]
  9. UPDATE `article` SET `lasttime` = 1793989119 WHERE `id` = 573700 [ RunTime:0.001794s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000324s ]
  11. SELECT * FROM `article` WHERE `id` < 573700 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000418s ]
  12. SELECT * FROM `article` WHERE `id` > 573700 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000368s ]
  13. SELECT * FROM `article` WHERE `id` < 573700 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000481s ]
  14. SELECT * FROM `article` WHERE `id` < 573700 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000452s ]
  15. SELECT * FROM `article` WHERE `id` < 573700 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000517s ]
0.084607s