UV 快速入门和使用案例

UV 快速入门和使用案例

作者:王珂

邮箱:49186456@qq.com


文章目录

  • UV 快速入门和使用案例
  • 简介
  • 一、安装
    • 1.1 安装包安装
    • 1.2 从 PyPI 安装
    • 二、使用
    • 2.1 创建项目
    • 2.2 包管理
    • 2.3 工具
    • 2.4 Python 版本


简介

官网:


项目:

https://github.com/astral-sh/uv

UV 是一个非常快速的 Python 包管理和项目管理工具,用 Rust 语言开发。

下图是 uv 和 其它工具的对比

uv_vs_others

一、安装

1.1 安装包安装

  • Windows 环境

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

    注意:在国内无法直接访问这个地址,可先翻墙访问如下地址,根据你自己的环境下载安装包:

    https://github.com/astral-sh/uv/releases
    

    例如,我的 Windows 环境选择下载 uv-x86_64-pc-windows-msvc.zip

在这里插入图片描述

然后将其解压,会看到解压后的目录包含两个文件:uv 和 uvx

再将解压后的命令配置的 windows 的 path 路径

打开 cmd 框架,输入命令 uv 测试,看到如下图表示配置成功
在这里插入图片描述

  • Linux 和 macOS

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

安装包方式安装后,通过下面命令进行更新

uv self update

1.2 从 PyPI 安装

  • pip

    pip install uv
    
  • pipx

    pipx install uv
    

二、使用

2.1 创建项目

  1. 初始化项目

    假设项目根目录是 demo-uv

    uv init demo-uv
    
  2. 创建虚拟环境

    使用上面命令,会默认创建一个虚拟环境在 .venv 目录

2.2 包管理

  • 安装依赖

    uv add 包名称
    
  • 删除依赖

    uv remove 包名称
    
  • 查看包依赖结构

    uv tree
    
  • 更新项目

    uv sync
    
  • 运行

    uv run <脚本文件>
    
  • 查看项目版本

    uv version
    

    demo-uv v0.1.0

2.3 工具

uv 执行和安装 Python 包提供的命令行工具,类似于pipx。

uvx pycowsay 'hello world!'

2.4 Python 版本

uv 可以安装不同的 Python 版本,并在其之间快速切换

  • 安装多个 Python 版本

    uv python install 3.10 3.11 3.12
    
  • 根据需要下载指定的 Python 版本

    $ uv venv --python 3.12.0
    Using Python 3.12.0
    Creating virtual environment at: .venv
    Activate with: source .venv/bin/activate$ uv run --python pypy@3.8 -- python --version
    Python 3.8.16 (a9dbdca6fc3286b0addd2240f11d97d8e8de187a, Dec 29 2022, 11:45:30)
    [PyPy 7.3.11 with GCC Apple LLVM 13.1.6 (clang-1316.0.21.2.5)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>>>
    
  • 使用指定的 Python 版本

    uv python pin 3.11
    
  • 创建虚拟环境

    uv venv
    
    Using Python 3.12.3
    Creating virtual environment at: .venv
    Activate with: source .venv/bin/activate
    

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

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

相关文章

质控脚本来喽

好久不更新&#xff0c;上个硬货。脚本需提前准备宿主和rrna的bowtie2索引文件&#xff0c;原始数据的命名方式为{sample}_raw_1/2.fq.gz&#xff0c;保存有原始数据路径的文件&#xff0c;保存样品列表的文件。 最后打个广告&#xff0c;欢迎畜牧学方向的研究生报考兰州大学。…

Linux Bash | Capture Output / Recall

注&#xff1a;本文为 “Linux Bash | Capture Output / Recall” 相关文章合辑。 英文引文&#xff0c;机翻未校。 中文引文&#xff0c;略作重排。 Automatically Capture Output of the Last Command Into a Variable Using Bash 使用 Bash自动将最后一个命令的输出捕获到…

编程题 03-树2 List Leaves【PAT】

文章目录 题目输入格式输出格式输入样例输出样例 题解解题思路完整代码 编程练习题目集目录 题目 Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. 输入格式 Each input file contains one test case. For each case, …

QT设置MySQL驱动

QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 第一步&#xff1a;下载MySQL https://dev.mysql.com/downloads/mysql/ 解压缩下载的安装包&#xff0c;其目录结构如下所示&#xff1a; 第二…

ABP User Interface-Angular UI中文详解

本系列文章主要用于对ABP User Interface-Angular UI &#xff08;Angular UI | ABP.IO Documentation&#xff09;不分的中文讲解以及记录自己在学习过程中发现的容易出错的地方。 1. 开发Development 2. 核心功能Core Functions 3. 通用组件Utilities 4. 自定义Customiza…

常用负载均衡技术有哪些?不同网络层面上的网络负载均衡技术

前言 负载均衡是一种策略&#xff0c;它能让多台服务器或多条链路共同承担一些繁重的计算或I/O任务&#xff0c;从而以较低成本消除网络瓶颈&#xff0c;提高网络的灵活性和可靠性。 在系统管理员发现网络性能不好时&#xff0c;可以通过网络负载均衡来分配资源&#xff0c;以…

ARMV8 RK3399 u-boot TPL启动流程分析 --crt0.S

上一篇介绍到start.S 最后一个指令是跳转到_main, 接下来分析 __main 都做了什么 arch/arm/lib/crt0.S __main 注释写的很详细&#xff0c;主要分为5步 1. 准备board_init_f的运行环境 2. 跳转到board_init_f 3. 设置broad_init_f 申请的stack 和 GD 4. 完整u-boot 执行re…

RabbitMQ--进阶篇

RabbitMQ 客户端整合Spring Boot 添加相关的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 编写配置文件&#xff0c;配置RabbitMQ的服务信息 spri…

Redis--基础知识点--27--redis缓存分类树

在 Redis 中存储分类树&#xff0c;通常需要选择合适的数据结构来表现层级关系。以下是使用 字符串&#xff08;String&#xff09; 和 哈希&#xff08;Hash&#xff09; 两种常见方案的举例说明&#xff0c;结合电商分类场景&#xff08;如 电子产品 > 手机 > 智能手机…

【C++】汇编角度分析栈攻击

栈攻击 介绍原理示例代码汇编分析 介绍原理 核心原理是通过 缓冲区溢出&#xff08;Buffer Overflow&#xff09; 等漏洞&#xff0c;覆盖栈上的关键数据&#xff08;如返回地址、函数指针&#xff09;&#xff0c;从而改变程序执行流程&#xff1b; 在 C 中&#xff0c;每个…

访问 Docker 官方镜像源(包括代理)全部被“重置连接”或超时

华为云轻量应用服务器&#xff08;Ubuntu 系统&#xff09; 遇到的问题是&#xff1a; &#x1f512; 访问 Docker 官方镜像源&#xff08;包括代理&#xff09;全部被“重置连接”或超时了&#xff0c;说明你这台服务器的出境网络对这些国外域名限制很严格&#xff0c;常见于华…

Java语言

本文来源 &#xff1a; 腾讯元宝 Java是一种面向对象、跨平台的高级编程语言&#xff0c;最初由Sun Microsystems&#xff08;现为Oracle公司所有&#xff09;于1995年推出&#xff0c;广泛应用于Web开发、移动应用、大数据处理、嵌入式系统等领域。以下是其核心特点和应用概述…

无偿帮写毕业论文(看不懂的可以私信博主)

以下教程教你如何利用相关网站和AI免费帮你写一个毕业论文。毕竟毕业论文只要过就行&#xff0c;脱产学习这么多年&#xff0c;终于熬出头了&#xff0c;完成毕设后有空就去多看看亲人好友&#xff0c;祝好&#xff01; 一、找一个论文模板 废话不多说&#xff0c;先上干货Ov…

python打卡day26

函数、参数、变量 知识点回顾&#xff1a; 函数的定义变量作用域&#xff1a;局部变量和全局变量函数的参数类型&#xff1a;位置参数、默认参数、不定参数传递参数的手段&#xff1a;关键词参数传递参数的顺序&#xff1a;同时出现三种参数类型时 def function_name(parameter…

LeetCode 热题 100 437. 路径总和 III

LeetCode 热题 100 | 437. 路径总和 III 大家好&#xff0c;今天我们来解决一道经典的二叉树问题——路径总和 III。这道题在 LeetCode 上被标记为中等难度&#xff0c;要求计算二叉树中节点值之和等于给定目标值 targetSum 的路径数目。 问题描述 给定一个二叉树的根节点 ro…

vue3学习-局部使用vue框架案例

目录 局部使用vue框架步骤 简单案例1 简单案例2【 结构化赋值语法】 简单案例3【使用模块化开发模式】 基本数据的简单应用&#xff0c;对象的简单应用 数组的简单应用 局部使用vue框架步骤 1 引用 vue框架的核心文件和 涉及ES6语法的文件 注意&#xff1a;这里文件&am…

初识Linux · IP分片

目录 前言&#xff1a; IP分片 分片vs不分片 如何分片 分片举例 三个字段 前言&#xff1a; 前文IP协议上和IP协议下我们已经把IP协议的报头的大多数字段介绍了&#xff0c;唯独有三个字段现在还有介绍&#xff0c;即16位标识&#xff0c;8位协议&#xff0c;13位片偏移…

u3d 定义列表详细过程

层级结构 - Canvas - Scroll View - Viewport - Content (Vertical Layout Group) - Item1 (Prefab) - Item2 (Prefab) ... 详细设置步骤 1. 创建 Canvas 2. 添加 Scroll View 组件 3. 在 Scroll View 下创建 Content 子对象 4. 添加 …

产品方法论与 AI Agent 技术的深度融合:从决策智能到价值创造

一、引言&#xff1a;智能化时代的产品范式革命 在数字化转型的深水区&#xff0c;产品开发正经历着从 “功能定义” 到 “体验设计” 再到 “智能演化” 的范式跃迁。麦肯锡 2024 年报告指出&#xff0c;采用 AI 驱动产品方法论的企业&#xff0c;新品研发周期平均缩短 40%&a…

力扣.1471数组的k个最强值,力扣.1471数组的k个最强值力扣1576.替换所有的问号力扣1419.数青蛙​编辑力扣300.最长递增子序列

目录 力扣.1471数组的k个最强值 力扣1576.替换所有的问号 力扣1419.数青蛙​编辑 力扣300.最长递增子序列 力扣.1471数组的k个最强值 class Solution {public static int[] getStrongest(int[] arr,int k) {if(karr.length){return arr;}int []retnew int[k];int narr.lengt…