首页 > 编程语言 >Python包管理uv使用

Python包管理uv使用

时间:2025-01-15 10:11:50浏览次数:1  
标签:管理 Python uv ruff python 安装 example

介绍

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/

标签:管理,Python,uv,ruff,python,安装,example
From: https://www.cnblogs.com/akapril/p/18671748

相关文章

  • 2025年毕设ssm未来新型养老院管理系统论文+源码
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景随着全球人口老龄化的加剧,养老院作为老年人生活照顾的重要机构,其管理效率和服务质量日益成为社会关注的焦点。关于养老院管理系统的研究,现有文献主要......
  • Python+Django的框架药品购买系统(Pycharm Flask Django Vue mysql)
    收藏关注不迷路,防止下次找不到!文章末尾有惊喜项目介绍Python+Django的框架药品购买系统(PycharmFlaskDjangoVuemysql)项目展示详细视频演示请联系我获取更详细的演示视频,相识就是缘分,欢迎合作!!!所用技术栈前端vue.js框架支持:django数据库:mysql......
  • Python+Django的智能宾馆预定系统(Pycharm Flask Django Vue mysql)
    收藏关注不迷路,防止下次找不到!文章末尾有惊喜项目介绍Python+Django的智能宾馆预定系统(PycharmFlaskDjangoVuemysql)项目展示详细视频演示请联系我获取更详细的演示视频,相识就是缘分,欢迎合作!!!所用技术栈前端vue.js框架支持:django数据库:mysql5.7数......
  • 如何理解C语言之动态内存管理
     目录1.为什么要有动态内存分配2.malloc 和free2.1malloc2.2free3.calloc和realloc3.1calloc3.2realloc4.常⻅的动态内存的错误4.1对NULL指针的解引⽤操作4.2对动态开辟空间的越界访问 4.3对⾮动态开辟内存使⽤free释放4.4使⽤free释放⼀块动态......
  • zenoh flow python sdk 简单说明
    zenohflow是zenoh团队提供的面向dataflow的编程框架,可以提供灵活的进行数据处理,zenohflow提供了基于rust以及python的扩展能力,我们只需要进行flow的yaml定义就可以灵活的进行数据处理,基于rust的开发模式可能比较费事,而且有难度,zenoh-flow-python是基于python快速开发......
  • 深入HDFS——元数据管理
    引入通过前面的学习积累,我们对HDFS已经有了不错的理解,但是学习技术,还是要从细微处见真章!今天就通过深入NameNode源码,深入看看HDFS是如何实现元数据管理的。关于源码阅读,我常用的思路是:先对相关技术有一个大致的了解,针对里面感兴趣,或者疑惑的地方,换位思考一下自己来会怎么......
  • 基于JAVA学生信息管理系统设计与实现(源码+文档 )
    目录一.研究目的二.需求分析三.数据库设计 四.系统页面展示五.免费源码获取方式一.研究目的信息数据的处理完全依赖人工进行操作,会耗费大量的人工成本,特别是面对大量的数据信息时,传统人工操作不仅不能对数据的出错率进行保证,还容易出现各种信息资源的低利用率与低安全......
  • 跟我一起学 Python 数据处理(三十八):数据案例实战与存储要点解析
    跟我一起学Python数据处理(三十八):数据案例实战与存储要点解析在数据处理的学习之旅中,我们致力于与各位共同成长,探索数据的奥秘。上两篇博客分别介绍了多种数据来源和获取方法,今天我们将通过实际案例进一步深化理解,并着重探讨数据存储方面的关键知识。一、案例深度剖析(一......
  • 跟我一起学 Python 数据处理(三十九):数据库世界的探秘之旅
    跟我一起学Python数据处理(三十九):数据库世界的探秘之旅在数据的广袤天地中,我们始终秉持着共同学习、共同进步的理念,希望能引领大家逐步深入Python数据处理的核心领域。上一篇博客我们了解了数据存储的基础要点和案例实战,今天将聚焦于数据库这个关键部分,为大家详细剖析其......
  • python脚本:批量修改图片名称
    运用演示:  步骤:1.将需要修改名称的图片放在一个文件夹中,选择此文件夹2.输入命名格式,进行重命名代码:直接将下列代码复制到python编译器中即可importosfrompathlibimportPathimporttkinterastkfromtkinterimportfiledialog,messageboxclassImageRen......