详细介绍:【python】uv管理器

news/2025/10/5 23:02:08/文章来源:https://www.cnblogs.com/wzzkaifa/p/19127147

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.mzph.cn/news/928822.shtml

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

相关文章

企业微网站开发锛网站

现在,人工智能的发展处于跳跃式阶段,我们也对AI在大型数据集的应用进展感到吃惊。更重要的是,那些我们没有跟踪的数十亿张照片或餐厅的评论并没有被遗漏掉:迁移学习技术让收集数据变得更加“容易”。另外,得益于PyTorc…

深圳网络做网站app开发费用大概多少

22/06/2005 12:22 FPOracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。下面例子中使用的表来自Oracle自带的HR用户下的表,如果没…

NotImplementedError: Cannot convert a symbolic Tensor (lstm/strided_slice:0) to a numpy array.

NotImplementedError: Cannot convert a symbolic Tensor (lstm/strided_slice:0) to a numpy array. This error may indicate that youre trying to pass a Tensor to a NumPy call, which is not supportednumpy …

porting perf性能观测工具

1.cd sdk/kernel/linux/linux-6.1.83/tools/perf 2.make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- NO_LIBPYTHON=1 NO_LIBPERL=1 NO_LIBBPF=1 3.在当前路径下生成perf 4.copy到板子/tmp目录下 scp ./per…

Windows常用快捷指令

Windows常用快捷指令 总览shift+数字键:输入数字键上的特殊符号 shift+Ctrl:切换输入法(台式电脑) shift+空格:切换输入法(笔记本电脑) Ctrl+C:复制 Ctrl+V:粘贴 Ctrl+X:剪切 Ctrl+Z:撤销 Ctrl+Y:重做 Ctr…

网站建设价格方案网站程序 wordpress 织梦 discuz

公证服务信息您是否需要高吞吐量的Corda网络? 网络的吞吐量是否稳定? 您是否已经从其他领域挤出了所有可能的表现? 如果您对这些问题的回答是“是”,那么我可能会为您提供一些有用的信息。 我列出了这些问题,以减少您过…

Python 在金融中的应用- Part 1 - 教程

Python 在金融中的应用- Part 1 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

影响网站收录的因数沈阳工程最新动态

参考2.6.14版本中的driver/usb/input/usbmouse.c。鼠标驱动可分为几个部分:驱动加载部分、probe部分、open部分、urb回调函数处理部分。 一、驱动加载部分 [cpp] view plaincopy static int __init usb_mouse_init(void) { int retval usb_register(&a…

网站开发常用软件是什么成都市住房和城乡建设厅官方网站

编译安装为了实现MySQL的更高级别的性能调优,我们通常需要理解其内部实现机制,并对其进行优化调试。在下面的系列中,我们会分别介绍MySQL的部分内部实现机制。首先我们介绍如何从源代码部署一台MySQL服务器。1.下载MySQL Community Server源码…

QBXT2025S刷题 Day4

今天的题 \(75pts\ rk50+\) ,最废的一次。 T1 简单 \(\mathcal{DP}\)。 #include <iostream>using std::cin; using std::cout; const int N = 1e3 + 10; #define int long long const int mod = 998244353;int…

实用指南:2025年05月29日Github流行趋势

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

java学习日记9.25

9.25 学习笔记 类型转换由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。大小排序:byte, short,char-int-long-float[^1]-double运算中,不同类型的数据先转化为同一类型,然后进行运算。强制转换…

porting 开源memtester

1.下载代码 https://pyropus.ca./software/memtester/old-versions/ 目前用的版本是4.5.1 2.修改交叉编译器,并进行编译 arm-linux-gnueabihf-gcc3.指令 ./memtester 200M 5

广东省建设注册执业资格中心网站jae安装wordpress

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/version-1.01/src/voxgpu/sample/MultiMaterialPass.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 2. 高频调用与低频调用隔离。 3. 面向用户的易用性封装。 4. 渲染数据和渲染机制分离。 …

江西省建设监理协会网站广州门户网站

目录 问题&#xff1a; 解决办法&#xff1a; 1.打开设置 2. 取消勾选 3.点击确认 4.解决 问题提出&#xff1a; 写shi山的过程中&#xff0c;给模块取错名字了&#xff0c;改名的时候不知道点到了什么&#xff0c;一个模块的pom.xml变成灰色了&#xff0…

上海专业网站建设维护wordpress后台进

Elasticsearch的Mapping Mapping是什么 Mapping定义了ES的索引结构、字段类型、分词器等&#xff0c;是索引的一部分。类似于关系型数据库中“表结构”的概念&#xff0c;在 Mapping 里也包含了一些属性&#xff0c;比如字段名称、类型、字段使用的分词器、是否评分、是否创建…

完整教程:用mediamtx搭建简易rtmp,rtsp视频服务器

完整教程:用mediamtx搭建简易rtmp,rtsp视频服务器pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

查找网站后台入口丝绸之路网站建设报告

安装Jenkins成功之后&#xff0c;首次启动Jenkins后台管理&#xff0c;进入到安装插件的步骤&#xff0c;选择"推荐安装"&#xff0c;继续下一步的时候出现错误提示&#xff1a; 出现一个错误 安装过程中出现一个错误&#xff1a;No such plugin&#xff1a;cloudb…

百度免费网站申请注册企业贷款

蓝桥集训之三国游戏 核心思想&#xff1a;贪心 将每个事件的贡献值求出 降序排序从大到小求和为正是即可 #include <iostream>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;const int N 100010;int a[N],b[N],c[N];…

oppoR9m MTK 6755 开启VCOM的9008模式

前言全局说明oppoR9m MTK 6755 开启VCOM的9008模式注意:刷机,会丢失用户:照片、聊天等信息资料。请备份基带等信息。请慎重刷机 !!! 注意:刷机,会丢失用户:照片、聊天等信息资料。请备份基带等信息。请慎重刷机 …