UV使用教程
安装UV
具体安装文档可参考官方文档:https://docs.astral.sh/uv/getting-started/installation/
以下是在Windows系统下的几种安装方式。
2.1 powershell下载
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
2.2 winget下载
winget install --id=astral-sh.uv -e
2.3 直接下载安装包
🤣😂🤣😂 哎哟喂!本该一行命令轻松搞定,谁料卡在了 GitHub 这道墙🧱,😭。看来只能手动去搬运资源了(🤫🤫🤫 你懂的)。
下载地址:uv-x86_64-pc-windows-msvc.zip
解压后,将解压后的文件夹目录设置环境变量即可生效。
使用
- uv教程
3.1 创建虚拟环境 (uv venv)
- 功能: 创建一个新的 Python 虚拟环境。
- 示例:
# 在当前目录下创建一个名为 .venv 的虚拟环境,使用系统默认的 Python 版本
uv venv
# 在当前目录下创建一个名为 my-project-env 的虚拟环境,使用指定的 Python 3.11 版本
uv venv -p python3.11 my-project-env
# 在指定路径创建一个名为 custom-env 的虚拟环境,使用 Python 3.10
uv venv -p python3.10 /path/to/my/project/custom-env
3.2. 安装包 (uv pip install)
-
功能: 在激活的虚拟环境中安装 Python 包。(ps:看到这里的pip老熟悉了,但是,此pip非彼pip,这里是uv本身的安装命令。)
-
示例:
# 确保你已经激活了虚拟环境
# Windows (CMD): .\venv\Scripts\activate
# macOS/Linux (Bash/Zsh): source venv/bin/activate
# 安装 requests 包
uv pip install requests
# 安装指定版本的 Flask 包
uv pip install Flask==2.2.2
# 从 requirements.txt 文件安装所有依赖
uv pip install -r requirements.txt
# 安装开发依赖 (通常在 requirements-dev.txt 中)
uv pip install -r requirements-dev.txt -d dev
3.3. 卸载包 (uv pip uninstall)
-
功能: 从激活的虚拟环境中卸载指定的 Python 包。
-
示例:
# 确保你已经激活了虚拟环境
# 卸载 requests 包
uv pip uninstall requests
# 卸载多个包
uv pip uninstall Flask Werkzeug
3.4. 列出已安装的包 (uv pip list)
-
功能: 显示当前激活的虚拟环境中已安装的包及其版本。
-
示例:
# 确保你已经激活了虚拟环境
uv pip list
AI写代码
3.5. 导出 requirements 文件 (uv pip freeze)
-
功能: 将当前激活的虚拟环境中已安装的包及其确切版本导出到 requirements.txt 文件中。
-
示例:
# 确保你已经激活了虚拟环境
# 导出到默认的 requirements.txt 文件
uv pip freeze > requirements.txt
# 导出到指定的文件
uv pip freeze > my_dependencies.txt
3.6. 运行工具 (uv tool run) 或其别名 (uvx)
-
功能: 运行由 Python 包提供的命令行工具,无需显式安装到当前虚拟环境或全局环境。uv 会自动创建一个临时的隔离环境来运行该工具。
-
示例:
# 运行 black 代码格式化工具
uvx black .
# 运行 flake8 代码检查工具
uv tool run flake8 my_module.py
# 运行指定版本的 pylint
uvx pylint@2.10.0 my_module.py
3.7. 锁定依赖 (uv pip compile)
-
功能: 从 requirements.in 文件编译生成精确的锁定文件 (requirements.txt),包含所有直接和间接依赖及其确切版本。这有助于实现可复现的构建。
-
示例:
# 假设你有一个 requirements.in 文件
# 编译生成 requirements.txt
uv pip compile requirements.in -o requirements.txt
# 指定输出文件
uv pip compile input_deps.in -o locked_deps.txt
3.8. 同步依赖 (uv pip sync)
-
功能: 根据锁定的 requirements.txt 文件同步当前虚拟环境中的依赖。如果虚拟环境中的包与锁定文件不一致,uv 会安装、升级或卸载包以使其与锁定文件匹配。
-
示例:
# 确保你已经激活了虚拟环境,并且有一个 requirements.txt 文件
# 根据 requirements.txt 同步虚拟环境
uv pip sync requirements.txt
# 同步指定的锁定文件
uv pip sync locked_dependencies.txt
3.9. 移除虚拟环境 (uv venv --remove)
-
功能: 删除指定的虚拟环境。
-
示例:
# 删除当前目录下的名为 .venv 的虚拟环境
uv venv --remove .venv
# 删除指定路径的虚拟环境
uv venv --remove /path/to/my/project/my-project-env
这些操作涵盖了使用 uv 进行 Python 项目开发和依赖管理的常见需求。记住在使用 uv pip install, uv pip uninstall, uv pip list, uv pip freeze, uv pip sync 等命令时,通常需要在你的虚拟环境被激活的状态下进行操作,以确保这些操作影响的是你的项目环境而不是全局环境。

浙公网安备 33010602011771号