许多人不知道,用 uv 搞 Python 项目压根不需要创建完整项目。比如下面 Python 写的文件分类小工具,往往就只需要一个 .py 文件。
这个文件怎么跑起来? 很简单,只需要执行 uv run 脚本路径 命令。
甚至,你也可以直接执行网络上的远程脚本,比如 uv run https://gitee.com/carson_add/data-u/raw/master/posts/%E9%82%AA%E4%BF%AEuv/uv-scripts/file_sorter.py。
前提是你已经安装了 uv。如果还没安装,可以参考本系列的 uv 国内逃生指南,里面有一键绿色安装和国内镜像源加速的方法。
既然通过命令可以直接执行,那我们就可以利用各种方式来间接调用这个命令。比如,在 Windows 上创建一个批处理文件(.bat)的快捷方式,就可以实现双击运行一个 Python 脚本,让它像一个小应用一样弹出一个界面。下面我们一步步来实现这个目标效果。
目标效果
- 屏幕出现一个由 Python 脚本生成的简单应用界面。
- 这个界面由单一的 Python 脚本完成,其大部分功能代码可以借助 AI 生成。
1. 添加依赖信息
要让 uv 知道一个孤立的脚本需要哪些外部库,我们需要在脚本文件里声明依赖。
操作目的
在 Python 脚本文件的头部,用特定格式的注释声明其依赖的第三方库,这样 uv 在运行时就能自动识别和安装。
操作步骤
- 在电脑上找个地方(比如桌面),新建一个 Python 文件,命名为
test.py。 - 打开文件,输入一行简单的代码,比如
print("Hello, world!")。 - 打开命令行终端(cmd 或 PowerShell),输入以下命令为脚本添加依赖信息:
uv add --script "E:\working\code\python\test.py"
如果想在添加依赖信息的同时导入包,可以在命令后面加上包名,例如:uv add --script "E:\working\code\python\test.py""pandas""numpy"
- 命令执行成功后,uv 会自动在
test.py 文件的最上方写入类似下面的内容。这个叫“内联依赖元数据”。# /// script# requires-python = ">=3.10"# dependencies = [# "pandas",# "numpy",# ]# ///print("Hello, world!")
你也可以手动将这段依赖信息写入脚本文件。本质上,uv add --script 命令做的就是这个文本插入工作。
2. 脚本执行流程
添加好依赖信息后,就可以用 uv 来运行脚本了。uv 会智能地处理依赖安装和脚本执行。
执行命令
在命令行终端中执行:
uv run "E:\working\code\python\test.py"
操作流程图