当前位置:首页>python>uv 管理 Python 环境:从入门到和 Conda 的取舍

uv 管理 Python 环境:从入门到和 Conda 的取舍

  • 2026-08-18 23:11:19
uv 管理 Python 环境:从入门到和 Conda 的取舍

引言

用 Python 做科研数据处理、机器学习或服务器脚本时,环境问题经常不是一开始就爆出来,而是在项目多了、服务器换了、依赖升级了之后慢慢变麻烦:

  • 项目 A 需要 python=3.10,项目 B 需要 python=3.12
  • pip install 以后环境越来越乱,不知道哪个包是谁装的;
  • 换一台服务器后,原来的环境很难完整复现;
  • conda solve environment 等很久,最后还可能冲突;
  • 想临时跑一个脚本,却不想污染当前环境。

过去我通常会用 conda 解决这些问题。现在如果项目主要是 Python 包,尤其是来自 PyPI 的包,我会优先考虑 uv

uv 是 Astral 做的 Python 包和环境管理工具,可以理解为把 pippip-toolsvirtualenvpyenvpipx 的一部分能力放到了一套命令里。它最直接的好处是安装快、命令少、项目依赖更容易锁住。

Summary

uv 更适合管理 Python 项目,conda 更适合管理带有复杂二进制依赖的环境。如果依赖主要来自 PyPI,uv 往往更轻;如果需要 C/C++/Fortran、CUDA、MPI、GDAL、ESMF、NetCDF 这类依赖,conda 仍然很有价值。

uv 解决的环境问题

Python 环境管理本来就分成几层:

层级 典型问题 传统工具 uv 对应能力
Python 版本 这个项目用 3.10 还是 3.12 pyenv、conda uv python install
虚拟环境 依赖要不要隔离 venv、virtualenv、conda env uv venv、项目 .venv
包安装 安装、升级、卸载依赖 pip uv pipuv adduv remove
依赖锁定 怎么保证别人装出一样的环境 pip-tools、Poetry、PDM uv.lock
命令运行 临时跑脚本或工具 pipx、手动激活环境 uv runuv tool

很多人觉得 Python 环境乱,是因为这些层混在一起了。比如:

conda activate basepip install pandaspip install geopandaspip install torch

这样短期能跑,但后面很难追踪:这些包到底属于哪个项目、谁引入了哪个依赖、半年以后还能不能装出同样的环境,都会变得不清楚。

uv 的思路是:把环境和项目绑定起来。一个项目一个 .venv,依赖写进 pyproject.toml,解析结果写进 uv.lock,运行命令时用 uv run 自动进入正确环境。

安装与基础环境

安装 uv

macOS 和 Linux 可以用官方安装脚本:

curl -LsSf https://astral.sh/uv/install.sh | sh

如果已经有 Homebrew:

brew install uv

如果在 Windows 上,可以用 PowerShell:

powershell -ExecutionPolicy ByPass -c"irm https://astral.sh/uv/install.ps1 | iex"

也可以通过 pip 安装:

pip install uv

安装后检查版本:

uv --version
Note

在服务器上,如果你没有管理员权限,通常也可以把 uv 安装到自己的用户目录。关键是确认 uv 所在路径已经加入 PATH

管理 Python 版本

uv 可以直接安装 Python:

uv python install 3.12uv python install 3.11

查看可用版本:

uv python list

指定项目使用某个版本:

uv python pin 3.12

这会在当前目录写入 .python-version,表示这个项目默认使用 Python 3.12。

如果你只是想临时用某个版本运行脚本:

uv run --python 3.12 python --version
Tip

以前我会用 pyenv 管 Python 版本、venv 管虚拟环境、pip 装包。uv 的好处是把这些动作收进了一个命令体系里,服务器迁移和新机器配置会更省心。

创建虚拟环境

最基础的用法和 python -m venv 类似:

uv venv

默认会在当前目录创建 .venv

指定 Python 版本:

uv venv --python 3.12

激活环境:

source .venv/bin/activate

然后可以像平时一样使用:

python --versionwhich python

不过,用 uv 时不一定非要手动激活环境。更推荐的方式是:

uv run python script.py

uv run 会自动找到当前项目的环境,并在其中运行命令。

包管理与项目管理

uv pip:作为 pip 的高速替代

如果你暂时还不想改项目结构,只想更快地安装包,可以先用 uv pip

创建环境:

uv venvsource .venv/bin/activate

安装包:

uv pip install numpy pandas matplotlib

requirements.txt 安装:

uv pip install -r requirements.txt

导出当前环境:

uv pip freeze > requirements.txt

同步环境到一个 requirements 文件:

uv pip sync requirements.txt

sync 和普通安装不一样。它不是“缺什么装什么”,而是让当前环境和文件保持一致:文件里没有的包会被移除。

Warning

uv pip sync 会删除不在 requirements 文件里的包。适合可复现环境,不适合在一个随手试验的环境里乱用。

项目模式:日常推荐用法

如果是新项目,更建议直接使用 uv 的项目模式。

新建项目:

uv init my-projectcd my-project

项目里通常会出现:

my-project/├── .python-version├── pyproject.toml├── README.md└── src/

添加依赖:

uv add numpy pandas matplotlib

添加开发依赖:

uv add --dev pytest ruff ipykernel

运行脚本:

uv run python main.py

运行测试:

uv run pytest

运行格式检查:

uv run ruff check .

uv 会维护两个关键文件:

文件 作用
pyproject.toml 记录项目的直接依赖和项目元信息
uv.lock 记录完整解析后的依赖版本,保证复现

pyproject.toml 像是“我想要什么”,uv.lock 像是“最终装成了什么”。

Important

如果这是一个需要复现的项目,建议把 pyproject.tomluv.lock 都提交到 Git。别人拿到项目后执行 uv sync,就能尽量得到一致的环境。

从已有项目迁移到 uv

如果你手里已经有一个 requirements.txt 项目,可以这样迁移。

第一步,在项目目录初始化:

uv init

第二步,从 requirements 添加依赖:

uv add -r requirements.txt

第三步,同步环境:

uv sync

以后就用:

uv add package-nameuv remove package-nameuv run python script.py

如果你暂时不想完全迁移,也可以只保留:

uv venvuv pip install -r requirements.txtuv run python script.py

这属于低风险过渡方案。

临时脚本:不用先创建项目

有时候只是想临时跑一段脚本,比如测试某个库:

uv run --with rich python -c "from rich import print; print('[green]hello uv[/green]')"

也可以运行一个本地脚本,并临时注入依赖:

uv run --with pandas --with matplotlib python quick_plot.py

这种用法适合:

  • 临时数据检查;
  • 分享一个最小复现脚本;
  • 在干净环境里验证某个包;
  • 不想污染当前项目依赖。

uv 也支持脚本元数据。比如一个单文件脚本可以在文件头写依赖,运行时自动创建隔离环境。这对分享小工具很有用。

命令行工具:替代一部分 pipx 用法

很多 Python 工具其实不是项目依赖,而是全局命令,比如 ruffblackhttpiejupyterlab

用 uv 安装工具:

uv tool install ruffuv tool install httpie

运行一次性工具:

uvx ruff check .uvx cowsay hello

uvx 可以理解为“临时下载并运行一个 Python 命令行工具”,类似 pipx run

Tip

我一般把“项目需要的工具”放进项目 dev 依赖,比如 uv add --dev ruff pytest;把“到处都要用的个人命令”用 uv tool install 安装。

Jupyter 和 Notebook 怎么配

科研工作流里经常要用 Jupyter。一个比较稳的做法是让每个项目环境注册自己的 kernel。

在项目里添加依赖:

uv add --dev ipykernel

注册 kernel:

uv run python -m ipykernel install --user --name my-project --display-name "Python (my-project)"

然后在 JupyterLab 或 VS Code 里选择这个 kernel。

如果还需要 JupyterLab 本身,可以作为工具安装:

uv tool install jupyterlab

或者在某个项目里安装:

uv add --dev jupyterlabuv run jupyter lab

两种方式都可以。前者适合把 JupyterLab 当全局工具,后者适合项目完全自包含。

uv 和 conda 怎么选

核心区别

uv 和 conda 最容易被混在一起,但它们解决问题的边界并不完全一样。

对比项 uv conda
核心定位 Python 包、项目、虚拟环境管理 跨语言包和二进制环境管理
主要包来源 PyPI conda channels,比如 defaults、conda-forge
Python 版本管理 支持安装和选择 Python 支持安装和选择 Python
虚拟环境 通常是项目内 .venv 通常是集中式 envs/ 环境
锁文件 uv.lock 原生更依赖 environment.yml,严格锁定通常需额外工具
速度 通常非常快 解析复杂环境时可能较慢,mamba 会快很多
非 Python 依赖 主要依赖 wheel 能否解决 强项,可装 C/C++/Fortran 库和系统级二进制包
适合场景 纯 Python 项目、Web、CLI、数据分析、轻量 ML 科学计算、地理空间、HPC、CUDA、复杂编译依赖
学习成本 命令少,项目模式清晰 概念更多,channel 和 solver 需要理解
Summary

uv 管的是 Python 项目;conda 管的是一个更接近“小型用户态系统”的环境。

conda 仍然适合的场景

不要把 uv 理解成“conda 的完全替代品”。在很多科研场景里,conda 仍然更稳。

典型例子包括:

  • gdalgeopandasrasteriocartopy 等地理空间栈;
  • netcdf4hdf5eccodescfgrib 等科学数据格式;
  • esmpyxesmfESMF 相关重网格工具;
  • 需要特定版本 CUDA、cuDNN、NCCL 的深度学习环境;
  • 依赖 MPI、Fortran、C/C++ 编译链的包;
  • 学校或课题组服务器已经围绕 conda module 搭好了环境。

这些依赖不只是 Python 包。它们背后还有一堆动态库、头文件、编译选项和 ABI 兼容问题。conda-forge 的价值就在这里:它提供的是一整套二进制包生态。

Important

如果一个包在 PyPI 上安装时需要本地编译大量 C/C++/Fortran 代码,而你又不想处理编译器和系统库,优先试 conda-forge 往往更省时间。

uv 更适合的场景

uv 的优势在这些地方更明显:

  • 项目主要依赖来自 PyPI;
  • 需要频繁创建、删除、同步环境;
  • 希望每个项目自带 .venv,减少全局环境污染;
  • 需要快速 CI 安装依赖;
  • 想用 pyproject.toml 管理项目依赖;
  • 需要锁定完整依赖版本;
  • 经常写命令行小工具、自动化脚本、数据处理脚本;
  • 不希望一上来就引入 conda 的 channel、solver、base environment 等复杂度。

例如一个普通数据分析项目:

uv init air-quality-analysiscd air-quality-analysisuv add pandas xarray matplotlib scipy netcdf4uv add --dev jupyterlab ipykernel pytest ruffuv run jupyter lab

如果这些包都能通过 wheel 正常安装,uv 会非常顺手。

能不能混用 uv 和 conda

可以,但要有边界。

比较稳的混用方式是:用 conda 提供底层 Python 和复杂二进制库,再在这个环境里用 uv 管理 Python 包。

例如:

conda create -n geo python=3.11 gdal proj geos netcdf4 -c conda-forgeconda activate geouv pip install pandas matplotlib seaborn

这种方式适合临时分析,但长期项目要小心:conda 和 pip/uv 同时改一个环境,容易让依赖来源混杂。

更清晰的做法是二选一:

  • 纯 Python 项目:uv init + uv add + uv lock
  • 复杂科学计算环境:environment.yml + conda/mamba;
  • 需要混用时:先用 conda 固定底层二进制依赖,再尽量减少 uv/pip 安装范围。
Note

如果团队协作,最好在 README 里明确环境创建方式。不要让一个人用 conda env create,另一个人用 uv sync,最后两边都以为自己是“标准环境”。

工作流

常见工作流示例

场景一:新建一个数据分析项目

uv init pm25-analysiscd pm25-analysisuv python pin 3.12uv add numpy pandas xarray scipy matplotlibuv add --dev jupyterlab ipykernel ruffuv run python -m ipykernel install --user --name pm25-analysis --display-name "Python (pm25-analysis)"

以后运行:

uv run jupyter labuv run python scripts/process.py

场景二:复现别人的 uv 项目

git clone <repo>cd <repo>uv syncuv run python main.py

如果项目指定了 Python 版本,uv 会按项目配置处理。

场景三:从 requirements.txt 创建环境

uv venv --python 3.11source .venv/bin/activateuv pip install -r requirements.txtuv run python main.py

场景四:服务器上快速跑脚本

uv run --with pandas --with openpyxl python convert_excel.py

跑完不需要专门清理项目环境。

场景五:保留 conda 的地理空间底层库

conda create -n geo python=3.11 gdal rasterio geopandas -c conda-forgeconda activate geouv pip install seaborn tqdm rich

这不是最纯粹的方式,但在科研服务器上很实用。

命令速查

uv 项目:

uv init my-projectcd my-projectuv python pin 3.12uv add pandas matplotlibuv add --dev pytest ruffuv run python main.pyuv sync

uv 虚拟环境:

uv venv --python 3.12source .venv/bin/activateuv pip install -r requirements.txtuv pip sync requirements.txt

uv 工具:

uv tool install ruffuvx ruff check .

conda 环境:

conda create -n myenv python=3.11conda activate myenvconda install numpy pandas -c conda-forgeconda envexport > environment.ymlconda env create -f environment.yml

结语

uv 把很多原本分散的 Python 环境管理动作收到了一个工具里。对大多数纯 Python 项目来说,它能明显减少装环境和同步依赖的时间。

参考资料

  • uv 官方文档[1]
  • uv:项目概念[2]
  • uv:Python 版本管理[3]
  • uv:工具管理[4]

  1. https://docs.astral.sh/uv/ ↩
  2. https://docs.astral.sh/uv/concepts/projects/ ↩
  3. https://docs.astral.sh/uv/concepts/python-versions/ ↩
  4. https://docs.astral.sh/uv/concepts/tools/ ↩

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 20:55:26 HTTP/2.0 GET : https://f.mffb.com.cn/a/506882.html
  2. 运行时间 : 0.251816s [ 吞吐率:3.97req/s ] 内存消耗:5,097.82kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=6973d6414e5abd69c9672f938114bb56
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000956s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001350s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.010707s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.018898s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000682s ]
  6. SELECT * FROM `set` [ RunTime:0.000216s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000579s ]
  8. SELECT * FROM `article` WHERE `id` = 506882 LIMIT 1 [ RunTime:0.001048s ]
  9. UPDATE `article` SET `lasttime` = 1787316926 WHERE `id` = 506882 [ RunTime:0.009002s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000339s ]
  11. SELECT * FROM `article` WHERE `id` < 506882 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001924s ]
  12. SELECT * FROM `article` WHERE `id` > 506882 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000659s ]
  13. SELECT * FROM `article` WHERE `id` < 506882 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004157s ]
  14. SELECT * FROM `article` WHERE `id` < 506882 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.031708s ]
  15. SELECT * FROM `article` WHERE `id` < 506882 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002432s ]
0.255556s