Windows系统下python新一代三方库管理工具uv及VSCode配置

python新一代三方库管理工具uv

uv是什么?

uv是用RUST语言写的一个python三方库和项目管理工具,详见官网(uv)。

uv的安装

官网上提供了两种安装方式,第一种需要在PS终端里运行一下命令进行安装:

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

另一种的话,如果已经安装过python的话,可以直接使用pip安装,这也是本人比较推荐的方式:

pip install uv

设置镜像源

虽然都说uv很快,但很多人安装了uv后,感觉uv也不是很快,这个就有点儿冤枉uv了。主要还是镜像的问题。可以参见我的另一个文章(关于anaconda的一些初级小配置)。

具体要设置的话,需要你手动在电脑的文件路径栏里输入 %APPDATA%,并在该目录下创建uv文件夹并进入。然后在uv文件夹里创建 uv.toml 文件并打开。内容为:

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

 相信细心的小伙伴已经看出来了,url其实就是python pip的镜像源,任何一个镜像源都可以,这里采用的是阿里云镜像源。

创建虚拟环境

uv创建虚拟环境的话有两种方式,一种是类似于anaconda,统一创建并管理虚拟环境,另一种是跟随项目创建。这里先介绍第一种方式:

首先可以在任意一个位置创建一个uvenv的文件夹用来集中放置虚拟环境。示例中将其创建在了C:\Users\Dhixuan\uvenv

创建好后,打开cmd,并进入该路径。然后使用如下命令创建虚拟环境,其中env_name虚拟环境的命名,可以按自己需要进行修改。使用--python 指定具体的python版本

uv venv env_name --python 3.xx 

此时虚拟环境就已经创建好了,然后运行如下命令进行激活虚拟环境。

env_name\Scripts\activate

注意:如果遇到报错,可以需以管理员身份运行PowerShell,执行"set-executionpolicy remotesigned"命令解除限制即可解决问题

 接下来,就可以在该虚拟环境下进行安装python三方库了,安装命令也很简单,直接在pip install 前加入uv即可。

uv pip install xxx

至于要删除某个库,与pip一样,可以运行uv pip uninstall即可。

配置VSCode

由于uv是新出的一个python三方库管理工具,所以创建的虚拟环境,vscode并不能自动索引到。故而需要在vscode中进行一些设置。

如图所示,依次打开vscode、设置、转换为json。并在最后添加以下内容。

    "python.venvPath": "C:\\Users\\Dhixuan\\uvenv","python.venvFolders": ["C:\\Users\\Dhixuan\\uvenv"]

可以注意到这里的路径其实就是创建uvenv的路径。 

 至此 vscode就能检测到uv所创建的虚拟环境了。可以运行命令面板,并输入python 解释器进行验证。

使用uv进行项目管理

首先可以用vscode打开一个空项目(空文件夹),然后在终端里运行uv init,即可对项目进行初始化,可以看到会自动创建 git管理、python环境依赖和项目信息

在该项目下,可以在终端输入 uv venv --python 3.xxx,即可以创建适合于该项目的python版本

然后再次运行 uv venv即可以创建 适合于该项目的 虚拟环境

使用 uv add xxx 即可给该项目环境 安装具体的三方库,且项目环境文档会自己更新

另外,拿到别人的项目的话 可以使用 uv sync 对他人项目环境进行复制。

做个小结,uv 项目管理常用命令

uv init #初始化项目
uv venv #创建项目需要的虚拟环境
uv add xxx #安装python三方库,并更新环境文档
uv sync #复制他人环境

总结

亲身体验了以下 uv,发现确实很方便,也很迅速。希望uv能够做的更好,也值得大家一试。

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

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

相关文章

Node.js 多版本管理工具 nvm 的安装与使用教程(含镜像加速与常见坑)

适用人群:前端/后端/全栈开发者,Mac/Linux/Windows(nvm-windows)用户;需要在多项目间快速切换 Node 版本、或在国内网络环境下稳定安装 Node。一、为什么要用 nvm?一机多版本:不同项目依赖不同 …

Unity Shader unity文档学习笔记(二十一):几种草体的实现方式(透明度剔除,GPU Instaning, 曲面细分+几何着色器实现)

1.透明度剔除(性能较差,不同颜色时需要不同材质会导致多个dc) clip(_Color.a - _Cutoff); 传入值为0时 剔除 类似的草体效果: 2.GPU Instaning(可以自定义一次性合批最多1023个,能够传递颜色值等等(做草…

UX 设计入门终章:让洞察落地!用用户流程图、IA 和旅程图,设计用户与产品的互动故事

欢迎来到本系列课程的最后一课。 如果你把之前的学习比作是绘制一份建筑蓝图,那么今天,你将根据自己收集到的所有用户数据,描绘出空间布局(用户流程图)、理清结构关系(信息架构),并最…

【RAG知识库实践】向量数据库VectorDB

一、概述 1.1 什么是向量库 向量数据库是一种专门为存储、索引和查询高维向量数据而优化的数据库系统。与传统的关系型数据库不同,向量数据库将数据映射到向量空间中,使得数据的相似性计算、聚类、分类和检索变得更加高效和精确 向量数据库一般包括以下几个部分:索引、查询…

EasyExcel 3.x 导出动态表头,动态sheet页

动态导出sheet页Overridepublic void exportAnswerListV1(HttpServletResponse response, SmtSurveyUserAnswerRecord smtSurveyUserAnswerRecord) {// 1. 准备问卷数据String formType smtSurveyUserAnswerRecord.getFormType();if (ObjectUtil.isEmpty(formType)) {throw ne…

重学JS-004 --- JavaScript算法与数据结构(四)JavaScript 表单验证

文章目录HTMLlabel 属性input 属性button 属性fieldset 属性select 属性option 属性div 属性scriptgetElementByIdquerySelectorAllnull循环模版文字函数事件监听器regex举例StringMathArrayHTML HTML 属性应该用双引号引起来。 label 属性 for“” input 属性 id“” typ…

本地搭建 Redis/MySQL 并配置国内镜像加速(Docker/原生安装 | macOS/Linux/Windows)

适用人群:前端/后端/数据/测试工程师;需要在单机上快速搭建 Redis 与 MySQL 的开发环境;同时在国内网络环境下加速下载(容器镜像、系统包仓库)。文章结构:一图流 → TL;DR → Docker 方式 → 原生安装&…

SynClub-百度在海外推出的AI社交产品

本文转载自:SynClub-百度在海外推出的AI社交产品 - Hello123工具导航 ** 一、🤖 SynClub 是什么? SynClub 是百度出海的 AI 社交产品,主打 "打造专属 AI 朋友" 的创新概念,让你在虚拟世界拥有真正懂你的贴…

Easy Rules规则引擎:轻量级Java规则处理实践指南

引言:业务规则与代码解耦的艺术 在现代软件开发中,业务规则频繁变更与核心逻辑稳定性之间的矛盾日益突出。传统硬编码的if-else语句在面对复杂业务场景时会导致: 代码臃肿:成百上千的条件分支难以维护 耦合度高:业务逻辑与系统架构深度绑定 变更成本高:微小规则调整需要…

机器人 - 无人机基础(5) - 飞控中的传感器

目录 一、加速度计 1.1 加速度计原理 1.2 加速度计校准 1.2.1 误差模型 1.2.2 关于MPU6050校准方式 与 代码思路 二、陀螺仪 2.1 陀螺仪原理 2.1.1 科里奥利力 2.1.2 陀螺仪原理 2.2 陀螺仪校准 三、加速度计与陀螺仪滤波部分 四、磁力计 4.1 磁力计原理 4.2 磁力…

PHP - 线程安全 - 疑问与答案

线程安全问题(多线程环境需加锁) 怎么理解 php有线程安全问题吗要理解 PHP 中的线程安全问题,需要结合 PHP 的运行模式和线程安全的本质来分析:1. 线程安全的本质线程安全问题的核心是:当多个线程同时访问共享资源&…

使用脚本进行监测以nginx状态页为例

1、首先打开nginx的状态页 location /nginx_status {stub_status on;}2、进行访问测试 curl http://127.0.0.1/nginx_statusActive connections: 1 server accepts handled requests1 1 1 Reading: 0 Writing: 1 Waiting: 03、在客户端编写脚本进行数据采集 编写脚本方便采集不…

prettier、eslint、stylelint在项目中使用

prettier 1)vscode中使用 a. 安装插件(Prettier)安装成功后,在你打开支持的文件时,下方文件信息状态栏会有prettier标致:双击它或者直接在输出命令窗口那里查看prettier的日志信息:从日志这里可以看出,它是…

【C++】类对象内存布局与大小计算

1. 计算类对象的大小类实例化的对象中只存储成员变量,不存储成员函数,函数要用是通过 this 指针拿的。因为一个类可以实例化出 N 个对象,每个对象的成员变量都可以存储不同的值,但是调用的函数却是同一个。如果每个对象都成员函数…

容易忽视的TOS无线USB助手配网和接入USB使用: PC和TOS-WLink需要IP畅通,

引言:我们常常把重心放在了TOS-WLink的加入路由器,获取IP;常常忽视了其实是要求PC和TOS-WLink需要IP畅通TOS无线USB助手首次蓝牙配网, 无线接入USB设备到电脑, 分为是两个过程:1, 蓝牙连接TOS-WLink,如果配置的WIF…

学习Python中Selenium模块的基本用法(7:元素操作-1)

定位网页元素后,Selenium模块支持点击、发送文本或按键、清除内容等操作。本文以百度网站为例学习并测试这几类操作的基本用法。首先是发送文本或按键,主要用到send_keys函数,如果是发送文本,则直接将文本内容作为函数入参即可&am…

使用MP4视频格式链接地址的自适应视频弹窗实现方案HTML代码

以下是使用MP4视频格式链接地址的自适应视频弹窗实现方案:视频弹窗播放器 使用原生MP4视频格式链接,直接通过HTML5 video元素播放 响应式设计适配不同屏幕尺寸,16:9视频比例保持不变 底部视频列表可横向滚动,点击缩略图切换不同视…

中农具身导航赋能智慧农业!AgriVLN:农业机器人的视觉语言导航

作者:Xiaobei Zhao, Xingqi Lyu, Xiang Li单位:中国农业大学论文标题:AgriVLN: Vision-and-Language Navigation for Agricultural Robots论文链接:https://arxiv.org/pdf/2508.07406v1代码链接:https://github.com/Al…

Zynq开发实践(Verilog、仿真、FPGA和芯片设计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】zynq最大的优势,就是把arm和fpga结合在一起了。这样一颗soc里面,就可以用软件去驱动外设ip,这是之前没有过的体验…

LabVIEW刺激响应测量解析

​该 LabVIEW 程序用于刺激 - 响应测量,实现测试信号生成、响应采集及测量分析,涵盖信号同步、并行处理等概念,用于设备总谐波失真(THD)等电信号特性测量场景,借助 LabVIEW 图形化编程优势,将复…