uv包管理器--python也有自己的pnpm了

哈喽,大家好!我是「励志前端小黑哥」,我带着最新发布的文章又来了!

老规矩,小手动起来~点赞关注不迷路!

为什么使用uv?

还能因为啥,快呗,rust编写的,速度杠杠的!

然后,环境隔离做到了项目级别。

再也不需要用source命令对环境切来切去了,再也不用记住不同项目使用的什么环境了。每个项目的环境都是隔离的,都存放在项目的.venv目录下!

还有就是,迁移成本很低,你以前用的工具pip、conda、pdm等其他工具,都能使用uv sync命令快速的迁移。

这套逻辑简直就是抄的前端npm嘛!话不多说接着往下看!

安装

MacOS基于brew安装:

shell 复制代码
brew install uv

Windows使用Winget安装:

shell 复制代码
winget install uv

设置uv的镜像源

全局配置:

shell 复制代码
export UV_DEFAULT_INDEX="https://mirrors.aliyun.com/pypi/simple"

或者,基于某个项目,pyproject.toml文件:

shell 复制代码
[[tool.uv.index]]
url = "https://mirrors.aliyun.com/pypi/simple"

常见需求

1. 如何指定项目的python版本

shell 复制代码
# 进入你的项目
cd your-project
# 直接指定3.11版本,会生成本地`your-project/.venv`文件夹
uv venv --python 3.11

2. 老项目基于requirements.txt,如何迁移到使用uv

shell 复制代码
# 进入你的项目
cd your-project
# 先init,会生成本地的`your-project/pyproject.toml`配置文件
uv init
# 然后基于`requirements.txt`添加依赖:
uv add  -r requirements.txt

3. 如何运行py脚本

shell 复制代码
# 进入你的项目
cd your-project
# uv run命令即可
uv run ./your-script.py

4. 如何切换不同的python版本

shell 复制代码
# 进入你的项目
cd your-project
# 删除.venv文件夹
rm -rf ./.venv
# 重装即可
uv venv --python 3.12 
# 更新包
uv sync

5. 如何安装依赖

shell 复制代码
# 进入你的项目
cd your-project
# 精确指定版本(推荐,避免意外升级)
uv add pandas==2.2.0  # 仅安装 2.2.0 版本
# 允许最低版本(兼容更高版本)
uv add pandas>=2.0.0  # 安装 2.0.0 及以上版本

其他场景,欢迎大家补充

结尾

励志前端小黑哥,全网唯一账号!

关注我,带你了解更多前端知识!

相关推荐
1024奇点1 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
实名上网宋凯宣1 小时前
Django
后端·python·django
Warren2Lynch2 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
如若1232 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
Knight_AL3 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing033 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by209994 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河4 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新4 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
IT召唤狮4 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php