当前位置: 首页 > news >正文

【Python】包管理神器-uv

一、 介绍uv

官网:https://docs.astral.sh/uv/

uv是一个python虚拟环境管理工具,可以用来替代pip、conda等工具。根据官网的介绍,使用uv来管理虚拟环境,相比于pip能得到至少10倍以上的性能提升。
在这里插入图片描述

二、安装uv

文档:https://docs.astral.sh/uv/getting-started/installation/

在linux和mac上的安装直接使用curl或者wget命令即可

curl -LsSf https://astral.sh/uv/install.sh | sh
或者wget(效果一样)
wget -qO- https://astral.sh/uv/install.sh | sh

在windows上的安装命令如下

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

安装效果如下(powershell 中执行)
在这里插入图片描述

在mac上安装之后,终端输出如下

curl -LsSf https://astral.sh/uv/install.sh | sh
downloading uv 0.6.14 aarch64-apple-darwin
no checksums to verify
installing to /Users/mothra/.local/binuvuvx
everything's installed!To add $HOME/.local/bin to your PATH, either restart your shell or run:source $HOME/.local/bin/env (sh, bash, zsh)source $HOME/.local/bin/env.fish (fish)

2.1. 卸载uv

卸载uv之前,先执行如下命令删除所有本地缓存文件

uv cache clean
rm -r "$(uv python dir)"
rm -r "$(uv tool dir)"

然后再删除uv的二进制文件

  1. mac/linux
rm ~/.local/bin/uv ~/.local/bin/uvx
  1. windows
rm $HOME.local\bin\uv.exe
rm $HOME.local\bin\uvx.exe

三、 基本使用

3.1. 管理python版本

使用如下命令,显示出当前环境中所有可用的python版本(包括已经安装的和可以安装的)

uv python list

在这里插入图片描述

如果需要安装其他版本的python,使用如下命令

uv python install 3.12

除了标准python之外,还可以安装其他的Python实现,比如PyPy实现的python

uv python install pypy@3.10

查找某个python版本的路径

 uv python find 3.10

在这里插入图片描述
在具体的某个项目中,进入项目目录,使用如下命令指定选用的python版本

uv python pin 版本号

这个命令会在指定目录下创建一个.python-version文件,内容如下

uv python pin 3.13

在这里插入图片描述

cat .python-version  

在这里插入图片描述

注意!!! 这里选用的python版本只和uv管理的虚拟环境有关系,和我们全局的python、python3命令都没有关系。

3.3. 创建虚拟环境(项目)

创建项目有两种方式,第一种方式,先创建好项目目录,然后设置python版本并初始化uv虚拟环境

uv python pin 3.10
uv init # 初始化

执行了uv init之后,会在当前目录下创建几个文件,同时也会在当前目录下执行git init创建出一个新的git仓库来

❯ uv python pin 3.13
Pinned `.python-version` to `3.13`~/data/code/python/test_code                                                                                                      
❯ uv init           
Initialized project `test-code`~/data/code/python/test_code main ?6                                                                                              
❯ ls
README.md      main.py        pyproject.toml

另外一个方式是在init之后添加一个项目名,会自动创建项目文件夹

在uv init 项目名

如果需要指定特定python版本,建议使用第一种方式来创建项目,否则还需要手动修改pyproject.toml配置文件里面需要的python版本。

3.4. 添加依赖

在uv add 依赖项

比如添加requests库(制定版本号)

uv add requests==版本号

执行了这个命令后,会新增一个uv.lock文件,用于存放依赖项版本相关的信息。pyproject.toml文件中的dependencies字段也会包含需要的依赖项。

3.5. 运行程序

依赖添加好后,就可以使用uv来运行python程序了

在uv run 程序文件名 [命令行参数]

uv会自动按照我们的配置来运行程序,无序我们手动维护依赖项,也不需要手动去source各式各样的虚拟环境了。

3.6. uvx命令

随着uv下载的还有一个uvx命令,uvx命令本质上是uv tool run命令的别名,

uvx python main.py 等价于 uv run main.py 等价于 uv tool run main.py

四、小结

使用了uv,直接执行uv run就可以了,uv工具自动帮我们维护了虚拟环境,并使用了指定环境来运行我们的服务端代码,一切问题都解决啦!

而且,mcp强制使用uv,也进一步规范了使用python编写mcp server的格式,再也不用担心某些开源python项目的根目录下连requirements.txt都没有的尴尬情况了。

http://www.dtcms.com/a/549650.html

相关文章:

  • 设计模式——抽象工厂方法(abstract factory)
  • 追剧狂人网页入口 - 免费影视在线观看网站
  • 以太网多参量传感器:工业物联网时代的安全监测革新
  • wordpress整站模板php 怎么做视频网站
  • Rust 内存对齐与缓存友好设计
  • 百度快照 直接进网站wordpress小工具缓存
  • 【英飞凌TC364】点亮LED灯
  • LeetCode 3346.执行操作后元素的最高频率 I:滑动窗口(正好适合本题数据,II再另某他法)
  • 【STM32】FLASH闪存
  • 东莞网站关键词推广义乌百度推广公司
  • Spring远程调用与Web服务全解析
  • 手机站喝茶影视茂名市建设银行网站
  • 青岛做网站公司排名淄博网站建设yx718
  • 303-Spring AI Alibaba NL2SQL 向量管理示例
  • 【CVPR 2025】即插即用GBC模块:小体积,大能量,重塑特征提取新范式
  • Linux系统编程 -- 进程概念(一)
  • React 入门 02:从单页面应用到多页面应用
  • 石家庄网站建设找哪家好河西网站建设优化seo
  • h5网站怎么做api对接赣州人才招聘网
  • 生产管理系统详解:物料清单bom 工序,工艺路线中的工序和工艺资源他们之间有什么关联和区别
  • 发布元服务配置应用分类、标签和资质信息(仅分发手表设备)
  • 成绩查询系统如何制作?
  • 中国建设银行信用卡官网站首页个人做商机网站如何盈利
  • springboot酒店客房管理系统设计与实现(代码+数据库+LW)
  • 交叉编译工具链深度解析 --静态库与动态库编译实战指南
  • uni-app 开发APP应用媒体处理与文件管理功能
  • 网站建设scyiyou百度竞价推广一个月多少钱
  • 基于整数MCU的FOC控制定标策略深度解析
  • [HDiffPatch] 差异算法 | `serialize_compressed_diff`
  • Pycatia二次开发基础代码解析:实例名称获取与几何显示控制技术解析