【python】uv管理器

news2025/6/3 10:10:56

uv是一个速度极快的 Python 包和项目管理器,用 Rust 编写。

安装

安装uv之前,确保你的电脑不需要安装了python

在Windows下,可以使用官方的脚本直接安装

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

在Linux下使用如下命令安装

curl -LsSf https://astral.sh/uv/install.sh | sh

安装成功

uv的下载没有进度条,所以卡住了大概率是网络的问题,请自行解决。

后续将使用基于WSL的Ubuntu 22.04.5 LTS以及uv 0.7.9演示,这里说下网络问题。以下方法适用于 Windows 11 22H2 和 WSL 2.0.5 及以上版本:

  1. 在你的“网络优化软件”中启用“局域网连接”,代理模式选择http(默认一般是这个)
  2. 搜索WSL Settings,网络模式改为Mirrored
    网络模式

使用wget google.com验证:
一切没问题
但是ping是ping不过去的,别想了,此外,每次将系统代理关掉都需要重启WSL(否则WSL将无法联网)。而且WSL无法使用Linux的reboot命令,而是需要在主机中执行:

wsl --shutdown

然后重新访问WSL,就重启成功了。

uv python

uv和conda一样,可以对安装的python进行管理。比如我在安装uv之前,电脑上就已经有python了,这时执行uv python list,就会看到我安装的python:
对python进行管理
这样就可以安装某个特定版本的python:

uv python install 3.12

uv与项目

使用如下命令初始化一个名为uv_test的python项目:

uv init uv_test

UV 将创建以下文件:

.
├── .python-version
├── README.md
├── main.py
└── pyproject.toml

使用如下命令运行:

uv run main.py

运行结果
uv运行时会自动创建一个.venv虚拟环境,类似官方的venv
完整的列表如下所示:

.
├── .venv
│   ├── bin
│   ├── lib
│   └── pyvenv.cfg
├── .python-version
├── README.md
├── main.py
├── pyproject.toml
└── uv.lock

pyproject.toml

包含有关项目的元数据:

[project]
name = "uv-test"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.10"
dependencies = []

与官方的管理文件格式一致(我都不知道python还有这玩意。。。),Python从PEP 518开始引入的使用pyproject.toml管理项目元数据的方案,具体可以看python官方的介绍:https://packaging.python.org/en/latest/guides/writing-pyproject-toml/

uv不会读取pip的配置,所以要单独设置镜像地址。可以在配置文件里指明镜像地址。以阿里云源为例子,在上述文件追加如下内容:

[[tool.uv.index]]
url = "https://mirrors.aliyun.com/pypi/simple/"
default = true

requests库为例,使用如下命令安装:

uv add requests

会自动从镜像下载安装:
安装结果
还可以指定版本约束或替代源:

# Specify a version constraint
uv add 'requests==2.31.0'

# Add a git dependency
uv add git+https://github.com/psf/requests

# 临时从某个镜像安装
uv add --default-index https://pypi.tuna.tsinghua.edu.cn/simple requests

要删除包,可以使用 :uv remove

uv remove requests

.python-version

该文件包含项目的默认 Python 版本。此文件告诉 uv 使用哪个 Python 版本。

.venv

该文件夹包含项目的虚拟环境,即 Python 环境,即 与系统的其余部分隔离。这是 uv 将安装项目依赖项的位置。

uv.lock

uv.lock是一个跨平台的 lockfile,其中包含有关项目的 依赖。与 which 不同,它用于指定 project 中,lockfile 包含项目中安装的确切解析版本 环境。此文件应签入版本控制中,以实现一致且 跨计算机可重复安装。
uv.lock是人类可读的 TOML 文件,但由 uv 管理,不应手动编辑。

使用如下命令构建发行版:

uv build

在这里插入图片描述
默认情况下,将在当前目录中构建项目,并将构建的文件放在子目录dist/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2394693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

戴尔AI服务器订单激增至121亿美元,但传统业务承压

戴尔科技121亿美元的AI服务器订单,不仅超过了公司整个2025财年的AI服务器出货量,更让其AI订单积压达到144亿美元的历史高位。 戴尔科技最新财报显示,AI服务器需求的爆炸式增长正在重塑这家老牌PC制造商的业务格局,但同时也暴露出…

如何手搓扫雷(待扩展)

文章目录 一、扫雷游戏分析与设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析1.2.2 文件结构设计 二、扫雷游戏的代码实现三、扫雷游戏的扩展总结 一、扫雷游戏分析与设计 扫雷游戏网页版 1.1 扫雷游戏的功能说明 使用控制台(黑框框的程序&a…

俄军操作系统 Astra Linux 安装教程

安装 U盘制作 Rufus 写盘工具:https://rufus.ie/ Astra Linux ISO 镜像文件:https://dl.astralinux.ru/astra/stable/2.12_x86-64/iso/ 准备一个8g以上的u盘,打开Rufus写盘工具,选择下载的iso镜像,写入u盘&#xff…

第三方软件评测机构如何助力软件品质提升及企业发展?

第三方软件评测机构与软件开发者及使用者无直接关联,它们提供全方位的检测和公正的评价服务。这样的评测可以展现客观的成效,对提升软件的品质具有显著影响,且在软件产业中发挥着至关重要的角色。 评测的客观性 独立第三方机构与软件开发者…

Python打卡训练营Day40

DAY 40 训练和测试的规范写法 知识点回顾: 彩色和灰度图片测试和训练的规范写法:封装在函数中展平操作:除第一个维度batchsize外全部展平dropout操作:训练阶段随机丢弃神经元,测试阶段eval模式关闭dropout 作业&#x…

JS逆向案例—喜马拉雅xm-sign详情页爬取

JS逆向案例——喜马拉雅xm-sign详情页爬取 声明网站流程分析总结 声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权&am…

STM32CubeMX定时器配置

STM32CubeMX定时器配置 一,Mode界面1,Slave Mode (从模式)2,Trigger Source (触发源) 三,Channelx(通道模式)1,Input Capture2,Output Compare3,PWM Generation4&#xf…

QNAP MEMOS 域名访问 SSL(Lucky)

注意:下述是通过ssh、docker-compose方式安装docker的,不是直接在container station中安装的哈!!! 一、编辑docker-compose.yml文件 用“#”号标识的,在保存文件的时候建议去掉,不然有时候会出…

如何将多张图组合到一张图里同时保留高的分辨率(用PPT+AdobeAcrobat)

文章目录 一、用PPT排版得到一页排布了很多图片的PPT二、用AdobeAcrobat打开pdf文件三、最后得到的图片 一、用PPT排版得到一页排布了很多图片的PPT 步骤如下 ①将幻灯片大小的长设置为17.2,宽根据图像多少进行调整,我这里是10 幻灯片大小的长设置步骤&…

pycharm找不到高版本conda问题

pycharm找不到高版本conda问题 高版本的condaPycharm不能自动识别,需要手动添加。 首先打开你要添加的conda环境win的话在conda终端输入 where conda查找conda的可执行文件位置 进入Pycharm设置,点击添加解释器,点击加载环境,…

2025年上半年软考系统架构设计师--案例分析试题与答案

必选题一:大模型训练系统 某公司开发一个在线大模型训练平台,支持 Python 代码编写、模型训练和部署,用户通过 python 编写模型代码,将代码交给系统进行模型代码的解析,最终由系统匹配相应的计算机资源进行输出,用户不需要关心底层硬件平台。 a.系统发生…

Eclipse 插件开发 5.2 编辑器 获取当前编辑器

Eclipse 插件开发 5.2 编辑器 获取当前编辑器 1 获取活跃编辑器2 获取全部编辑器 Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Click1 Bundle-SymbolicName: com.xu.click1;singleton:true Bundle-Version: 1.0.0 Bundle-Activator: com.xu.click1.Activato…

Visual Studio 的下载安装

下载 官网:https://visualstudio.microsoft.com/zh-hans/ 点击免费 Visual Studio。 点击 Visual Studio Community 下的免费下载。 保留并下载。 安装 双击下载的 exe 安装文件,点击继续。 等他下载安装完。 选择你要下载的组件(我只勾了一个 .NET 桌…

苍茫命令行:linux模拟实现,书写微型bash

文章目录 🌇前言2、需求分析3、基本框架4、核心内容4.2、指令分割4.3、程序替换 5、特殊情况处理5.2、内建命令5.3、cd5.4、export5.5、echo5.6、重定向 6、源码 🌇前言 Linux 系统主要分为内核(kernel)和 外壳(shell),普通用户是无法接触到…

虚拟DOM和DOM是什么?有什么区别?虚拟DOM的优点是什么?

虚拟DOM与真实DOM的概念 虚拟DOM(Virtual DOM)是一种对真实DOM的抽象表示,其结构通常为一个JavaScript对象,保存了DOM节点的标签、属性、子节点等信息。真实DOM则是浏览器中的实际文档对象模型,由HTML代码解析生成&am…

累加法求数列通项公式

文章目录 前言如何判断注意事项适用类型方法介绍典例剖析对应练习 前言 累加法,顾名思义,就是多次相加的意思。求通项公式题型中,如果给定条件最终可以转化为 a n 1 − a n f ( n ) a_{n1}-a_nf(n) an1​−an​f(n)的形式,或者…

鸿蒙NEXT应用加固工具哪家更好?国内主流的6款对比

随着鸿蒙NEXT系统的推进,越来越多企业将目光投向鸿蒙生态下的应用部署与数据安全。尤其是在核心业务App逐步上架鸿蒙原生平台的当下,如何实现高效、可靠的鸿蒙NEXT应用安全加固,已成为企业技术选型的关键环节。本文将对市面上6款主流的鸿蒙NE…

[特殊字符]《计算机组成原理》第 8 章 - CPU 的结构和功能

🔵8.1 CPU 的结构 🔵8.1.1 CPU 的功能 CPU(中央处理器)是计算机的核心部件,主要负责以下任务: 指令执行:解析并执行指令集架构(ISA)定义的指令数据处理:完…

OramaCore 是您 AI 项目、答案引擎、副驾驶和搜索所需的 AI 运行时。它包括一个成熟的全文搜索引擎、矢量数据库、LLM界面和更多实用程序

一、软件介绍 文末提供程序和源码下载 OramaCore 是您的项目、答案引擎、副驾驶和搜索所需的 AI 运行时。 它包括一个成熟的全文搜索引擎、矢量数据库、LLM具有行动计划和推理功能的接口、用于根据数据编写和运行您自己的自定义代理的 JavaScript 运行时,以及更多…

OpenCV CUDA模块图像处理------颜色空间处理之GPU 上交换图像的通道顺序函数swapChannels()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数用于在 GPU 上交换图像的通道顺序(例如将 BGR 图像转为 RGB)。 它适用于多通道图像(如 3 通道或 4 通道…