Python包管理uv使用

news/2025/1/15 10:02:19/文章来源:https://www.cnblogs.com/akapril/p/18671748

介绍

Rust编写的一个极其快速的Python包和项目管理器。

pip快10-100倍。

安装和管理 Python 版本。

运行和安装 Python 应用程序。

通过 curlpip ,无需 RustPython 即可安装。

支持 macOSLinuxWindows

安装

使用独立安装


# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh# windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"# 如果通过独立安装程序安装,uv 可以更新到最新版本:
uv self update

Pypi 安装

# pip
pip install uv# pipx
pipx install uv

项目管理

uv 管理项目依赖和环境,支持锁文件、工作区等, 类似于 ryepoetry

$ uv init example
Initialized project `example` at `C:\Users\Administrator\example`$ cd example$ uv add ruff
Using CPython 3.12.8
Creating virtual environment at: .venv
Resolved 2 packages in 3.87s
Prepared 1 package in 4.20s
Installed 1 package in 476ms+ ruff==0.9.1$ uv run ruff check
All checks passed!

工具管理

uv 执行并安装由 Python 软件包提供的命令行工具,类似于 pipx

$ uvx pycowsay 'hello world!'
Installed 1 package in 35ms--------------
< 'hello world!' >--------------\   ^__^\  (oo)\_______(__)\       )\/\||----w |||     ||

安装一个工具 uv tool install

$ uv tool install ruff
Resolved 1 package in 1.32s
Installed 1 package in 14ms+ ruff==0.9.1
Installed 1 executable: ruff.exe$ ruff --version
ruff 0.9.1

Python管理

uv 安装 Python,并允许快速切换版本。

安装多个 Python 版本

$ uv python install 3.10 3.11 3.12
Installed 3 versions in 27.83s+ cpython-3.10.16-windows-x86_64-none+ cpython-3.11.11-windows-x86_64-none+ cpython-3.12.8-windows-x86_64-none

根据需要下载 Python 版本

$ uv venv --python 3.12.0
Using CPython 3.12.0
Creating virtual environment at: .venv
Activate with: .venv\Scripts\activate$ uv run --python pypy@3.8 -- python
Python 3.8.16 (a9dbdca6fc3286b0addd2240f11d97d8e8de187a, Dec 29 2022, 11:45:54)
[PyPy 7.3.11 with MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>>

在当前目录中使用特定的Python版本

$ uv python pin 3.11
Pinned `.python-version` to `3.11`

脚本支持

uv 管理单文件脚本的依赖关系和环境。

创建一个新的脚本,并添加内联元数据声明其依赖项:

$ echo 'import requests; print(requests.get("https://astral.sh"))' > example.py$ uv add --script example.py requests
Updated `example.py`

然后,在隔离的虚拟环境中运行脚本:

$ uv run example.py
Reading inline script metadata from `example.py`
Installed 5 packages in 20ms

卸载

如果您需要从系统中移除uv,请按照以下步骤操作:

清理存储数据

$ uv cache clean# windows 删除安装的内容 删除命令列出目录
$ uv python dir && uv tool dir
C:\Users\Administrator\AppData\Roaming\uv\python
C:\Users\Administrator\AppData\Roaming\uv\tools# macOS / Linux 删除安装的内容
$ rm -r "$(uv python dir)"
$ rm -r "$(uv tool dir)"

删除uv和uvx二进制文件

# macOS / Linux
$ rm ~/.local/bin/uv ~/.local/bin/uvx# Windows
$ rm %UserProfile%\.local\bin\uv.exe
$ rm %UserProfile%\.local\bin\uvx.exe

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

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

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

相关文章

Calculator VB6

Calculator是我用VB6开发的计算器,支持语音朗读。 在计算方面,支持加减乘除四则运算。也支持括号此外,与VBS语法一样,还可以使用三角函数、平方等运算符。

SendMail C#版

SendMail是我用C#开发的一款发送邮件的工具。 左侧是要发送的内容,右侧是发件人的账户配置,具体可以参考新浪邮箱或者Outlook账户配置方面的资料。输入各项,点击【发送】按钮,对方就收到了邮件。

Windows 行为测试 删除 FileStream 正在读写文件可以继续读写

本文在 Win11 系统下,测试使用 FileStream 对文件进行读写,读写过程中,删除正在读写的文件后的行为测试结论: 使用 FileShare 带 Delete 的共享方式打开的 FileStream 正在对文件进行读写过程中,可以对正在读写的文件进行删除。文件删除之后,不影响已经打开的 FileStream…

如何轻松实现服务器文件自动化传输,保障传输安全与效率?

服务器文件自动化传输是企业数据管理中至关重要的一环,确保数据的一致性、完整性和可用性。常见的服务器文件自动化传输方式,像FTP/HTTP等传统协议的⽂件同步⼯具来实现。但存在一定问题: 1.传输安全可靠性低:传输过程受⽹络环境影响较⼤,易出现延迟、断线、⽂件丢包等情况…

芯片半导体基础(二) :20世纪最伟大的发明,PN结与晶体二极管

liwen01 2025.01.12 前言 PN结 是晶体管的基础,它使得晶体管能够作为一个放大或是开关元器件。晶体管的发明不仅是一个技术上的突破,也标志着电子学的一个新时代。它极大地推动了科技和社会的发展,奠定了现代信息技术的基础,因此也被认为是20世纪最伟大的发明之一。 1947年…

DevExpress gridControl 绑定数据源之后添加非绑定列

using (DevExpress.Utils.WaitDialogForm dlg = new DevExpress.Utils.WaitDialogForm("请稍等", "查询中......", new System.Drawing.Size(100, 50))){string sqlString = "SELECT ITEM ,DESCRIPTION ,CATEGORY3 FROM WIPDBA.TIME_IMA x WHERE x.…

Gitlab搭建npm仓库

由于图片和格式解析问题,为了更好阅读体验可前往 阅读原文:::warning 使用gitlab的仓库注册表特性需要版本14.0+,如果你的版本比较低,请先根据自己的需求合理升级后再使用 ::: npm私有仓库的搭建方式有很多种,比如使用docker(阅读此篇),这里讲述如何使用gitlab作为npm仓库…

k8s~控制deamonset中pod的数量

DaemonSet 是 Kubernetes 中的一种控制器,用于确保集群中的每个节点(或特定标签选择器匹配的节点)运行一个 Pod 的副本。DaemonSet 通常用于运行集群守护进程,如日志收集、监控代理、存储卷插件等。以下是如何控制 DaemonSet 中 Pod 数量的方法:使用节点选择器(Node Sele…

读量子霸权04量子计算机的黎明

量子计算机的黎明1. 晶体管的诞生 1.1. 1956年,三位物理学家因发明了这种神奇的装置而获得诺贝尔奖:贝尔实验室的科学家约翰巴丁、沃尔特布拉顿和威廉肖克利1.1.1. 巴丁、布拉顿和肖克利使用了一种新的量子形式的物质,即半导体1.1.2. 金属是允许电子自由流动的导体1.1.3. 玻…

Arch Linux默认中文输入法设置输入关键字直接给出日期和时间

自定义词组就行,关键字如下#$year年$month月$day日 星期$weekday $fullhour:$minute:$second如下图, 设置里-输入法,进入输入法菜单界面,选择你的输入法设置进入到你的中文输入法设置界面后,拉到中间的位置,有一个【管理自定义词组】,点进去 添加一个词组,把上面的词组…

互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(二):用.NET IoT库编写驱动控制两个屏幕

前言 从.NET IoT入门开始这篇文章想必大家应该都看过了,也有很多人都该着手购买树莓派Zero 2W进行上手体验了,那么我们这篇文章就开始真正的实践了,玩硬件肯定是要亲自操作得出成果才会开心,由于牵扯到硬件,所以有的时候软件没问题,但是硬件接线错误或者接触不良都会结果…