<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ruff on PlumePHP</title><link>https://plumephp.com/tags/ruff/</link><description>Recent content in Ruff on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sat, 01 Aug 2026 12:30:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/ruff/index.xml" rel="self" type="application/rss+xml"/><item><title>Python 现代工具链：uv + ruff + mypy 全链路工程实践</title><link>https://plumephp.com/python-modern-toolchain/</link><pubDate>Sat, 01 Aug 2026 12:30:00 +0800</pubDate><guid>https://plumephp.com/python-modern-toolchain/</guid><description>&lt;blockquote&gt;
&lt;p&gt;2024-2025 年 Python 工具链经历了革命性更新：&lt;code&gt;uv&lt;/code&gt; 以 Rust 编写，替代 pip + virtualenv + poetry 的组合；&lt;code&gt;ruff&lt;/code&gt; 统一了 flake8 + black + isort 的功能。本文提供「一步到位」的现代化迁移方案。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="1-uv一站式-python-包管理器"&gt;1. uv：一站式 Python 包管理器&lt;/h2&gt;
&lt;h3 id="11-为什么选-uv"&gt;1.1 为什么选 uv&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;安装速度&lt;/th&gt;
					&lt;th&gt;虚拟环境&lt;/th&gt;
					&lt;th&gt;Python 版本&lt;/th&gt;
					&lt;th&gt;依赖锁定&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;pip&lt;/td&gt;
					&lt;td&gt;慢（逐包下载）&lt;/td&gt;
					&lt;td&gt;需 virtualenv&lt;/td&gt;
					&lt;td&gt;无&lt;/td&gt;
					&lt;td&gt;requirements.txt&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;poetry&lt;/td&gt;
					&lt;td&gt;中等&lt;/td&gt;
					&lt;td&gt;内置&lt;/td&gt;
					&lt;td&gt;无&lt;/td&gt;
					&lt;td&gt;poetry.lock&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;uv&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;极速（并行+缓存）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;内置&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;内置&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;uv.lock&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;uv 由 Astral 团队（Rust 编写）开发，使命是替代 Python 工具链的「瑞士军刀」：&lt;/p&gt;</description></item></channel></rss>