<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>5.9 内部实现 on 编程那些事儿</title><link>https://before80.github.io/prgms/tools/uv/reference/internals/</link><description>Recent content in 5.9 内部实现 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 25 Sep 2026 21:01:20 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/tools/uv/reference/internals/index.xml" rel="self" type="application/rss+xml"/><item><title>5.9.1 解析器</title><link>https://before80.github.io/prgms/tools/uv/reference/internals/5.9.1-resolver/</link><pubDate>Fri, 25 Sep 2026 19:02:24 +0800</pubDate><guid>https://before80.github.io/prgms/tools/uv/reference/internals/5.9.1-resolver/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.astral.sh/uv/reference/internals/resolver/"&gt;https://docs.astral.sh/uv/reference/internals/resolver/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="591-解析器"&gt;5.9.1 解析器&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;提示&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;本文档聚焦 uv 解析器的内部工作机制。关于使用 uv，请参阅&lt;a href="../../concepts/3.7-resolution/"&gt;解析概念&lt;/a&gt;文档。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="解析器"&gt;解析器&lt;/h2&gt;
&lt;p&gt;按教科书的定义，解析（即从一组要求中找出一组要安装的版本）等价于 &lt;a href="https://en.wikipedia.org/wiki/Boolean_satisfiability_problem"&gt;SAT 问题&lt;/a&gt;，因而是 NP 完全的：最坏情况下你必须尝试所有包所有版本的所有可能组合，而且没有通用且快速的算法。实践中，由于若干原因这种说法具有误导性：&lt;/p&gt;</description></item><item><title>5.9.2 工作区元数据</title><link>https://before80.github.io/prgms/tools/uv/reference/internals/5.9.2-metadata/</link><pubDate>Fri, 25 Sep 2026 19:02:24 +0800</pubDate><guid>https://before80.github.io/prgms/tools/uv/reference/internals/5.9.2-metadata/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.astral.sh/uv/reference/internals/metadata/"&gt;https://docs.astral.sh/uv/reference/internals/metadata/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="592-工作区元数据"&gt;5.9.2 工作区元数据&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;uv workspace metadata&lt;/code&gt; 把 uv 关于你的工作区或 PEP 723 脚本的信息导出为 JSON，供其他工具使用。特别是，如果你想访问 &lt;code&gt;uv.lock&lt;/code&gt; 或脚本锁文件中的信息，应优先使用该命令的输出，因为锁文件并非我们做出任何保证的稳定格式。传入 &lt;code&gt;--script path/to/script.py&lt;/code&gt; 可请求某个脚本的元数据。&lt;/p&gt;</description></item></channel></rss>