uv python版本与依赖管理

选择原因

1. 新的好玩、rust开发的执行速度快
2. 确实方便
3. 轻,软件就十几二十兆,占磁盘小
4. uv.lock可以锁版本

场景应用

场景一

从 anaconda、conda、pipenv等迁移过来

  • 导出依赖列表
pip freeze > requirements.txt  # 调整绝对路径的模块
  • 进入项目,初始化环境
cd ./你的项目文件
uv init # 会生成pyproject.tom、uv.lock、.python-version文件
uv run # 会根据.python-version中的python版本生成 .venv文件,即python虚拟环境
  • 将旧依赖方式同步到pyproject.toml中
uv add -r requirements.txt

requirements.txt就可以删除了,以后就通过pyproject.toml来管理

场景二

新建项目

mkdir project_name
cd ./project_name
uv init
# 或者 uv init project_name 我更喜欢自己创建文件夹
echo "3.11" > .python-version # 确定自己的python版本
uv run # 自定创建python环境

场景三

已有uv项目

cd project_name
uv sync # 根据pyproject.tom、uv.lock自动安装依赖包

常用命令

uv init  # 初始化
uv run # 等同于python
uv add module # 添加模板
uv add "module==1.*.*" # 指定版本
uv remove module # 移除模块
uv sync # 同步依赖
# 兼容pip
uv pip freeze > requirements.txt
uv pip install module
...

其他命令:https://docs.astral.sh/uv/getting-started/features/

配置全局pip源

mkdir -p ~/.config/uv
vim ~/.config/uv/uv.toml

添加一下内容

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

vscode选择环境

Enter interpreter path...

./venv/bin/python  # 没错所有项目用的都是这个路径,就不必要去找了,因为都是项目目录下

新一代python版本与依赖管理工具 uv的更多相关文章

  1. Python黑帽编程1.3 Python运行时与包管理工具

    Python黑帽编程1.3  Python运行时与包管理工具 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...

  2. Composer : php依赖管理工具

    原始时代 我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了 总结如下 代码 ...

  3. composer php依赖管理工具

    #composer是什么 Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. composer出现之前我们php项目依赖管理大部分都是手动 ...

  4. Go 包依赖管理工具 —— govendor

    govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具.与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本.以及 ...

  5. Golang依赖管理工具:glide从入门到精通使用

    这是一个创建于 2017-07-22 05:33:09 的文章,其中的信息可能已经有所发展或是发生改变. 介绍 不论是开发Java还是你正在学习的Golang,都会遇到依赖管理问题.Java有牛逼轰轰 ...

  6. PHP的依赖管理工具----composer

    安装Composer 参考:https://getcomposer.org/doc/01-basic-usage.md composer 是PHP依赖管理工具 PHP最低版本要求5.3.2,需要允许o ...

  7. 有用PHP依赖管理工具Composer新手教程

    PHP依赖管理工具Composer新手教程 Composer 是 PHP 的一个依赖管理工具.它同意你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 依赖管理 Composer 不是一个包管理 ...

  8. Go依赖管理工具 - dep

    https://segmentfault.com/a/1190000013561841 Go依赖管理工具 Go dependency management tool 环境要求 Golang >= ...

  9. PHP依赖管理工具Composer入门

    作者: JeremyWei | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://weizhifeng.net/manage-php-dependency-wi ...

  10. 【Tool】Windows系统安装Maven依赖管理工具

    安装Maven依赖管理工具 官网下载地址:http://maven.apache.org/download.cgi 系统环境要求: [JDK]Maven3.3版本+需要JDK1.7版本以上支持 [内存 ...

随机推荐

  1. C语言之声明

    C语言之声明 1.声明与定义 声明语法 说明符(说明类型或修改缺省属性) 声明表达式列表 说明符 类型说明:int, float 存储属性:static,auto 类型限定:const, volati ...

  2. java的split方法的转义字符

    一.实例 我们都知道  String s="ad,dfjdlfs,df,s,dfl"; 执行 String re[]=s.split(",");     则re ...

  3. Next.js 零基础开发入门教程2 构建基础脚手架 2024最新更新中|曲速引擎 Warp Drive

    开发目标 我们将构建一个简化版本的财务仪表板,其内容包括:公共主页.登录页面.受身份验证保护的仪表板页面.用户可以添加.编辑和删除发票 这篇文章先创建一个简单的nextjs脚手架页面 安装pnpm包管 ...

  4. setTimeout 的方式实现 setInteval

    setTimeout(function fn(){ setTimeout(fn,interval); },interval); 这个模式链式调用了setTimeout(),每次函数执行的时候都会创建一 ...

  5. github/gitee个人博客到底是什么一个运行原理?

    本文主要讲的是GitHub.Gitee这样的代码存储网站上提供的个人博客建站的原理分析,需要注意的是,本文并不介绍GitHub.Gitee上建立个人blog的操作步骤,本文只介绍原理,不介绍实操步骤. ...

  6. floyd 算法——P1119 灾后重建

    floyd 算法 是图论中较为简单的最短路算法,但在某些方面远超最短路范围. 算法思路 定义 \(f[x][y]\) 为 \(x\) 到 \(y\) 节点的最短路径. 初始化:若存在边 \((x,y) ...

  7. CommonsCollections5(基于ysoserial)

    环境准备 JDK1.8(8u421)我以本地的JDK8版本为准.commons-collections(3.x 4.x均可这里使用3.2版本) cc3.2: <dependency> &l ...

  8. Tomcat并发数优化的方法总结

    web应用的并发提升,除了负载均衡.在小企业中也可以通过一些软件的上的设置来进行一些优化.下面是一些在服务器上修改tomcat参数的优化方法,非常简单实用!(这些方法通过网络整理的) 1,让Tomca ...

  9. if else的多种替换方式

    1)利用逻辑判断的短路运算来实现 && 和 ||(&& 中第一个表达式为假就不会去处理第二个表达式,|| 则相反) // if为真 if (bool) { value ...

  10. 分布式事务之dtm

    github: https://github.com/dtm-labs/dtm 本人使用场景, 目前微服务中存在的用户服务, 商品服务,订单服务, 支付服务, 在进行下单操作的时候,需要创建订单并扣减 ...