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. Web渗透_11 补充结语 必看!!

    业务逻辑漏洞 在web程序编写时,可能会留下各种各样的漏洞.最常见的就是利用Burpsuit,通过对包的拦截,对内容的修改,来利用了漏洞. 典型的例子就是电商系统.购买商品时,如果在请求包里,将购买数 ...

  2. 3.13 Linux建立软硬链接文件(ln命令)

    如果要想说清楚 ln 命令,则必须先解释下 ext 文件系统(Linux 文件系统)是如何工作的.我们在前面讲解了分区的格式化就是写入文件系统,而我们的 Linux 目前使用的是 ext4 文件系统. ...

  3. Classical wave-optics analogy of quantum-information processing

    量子信息处理的经典波-光模拟(Spreeuw 2002 PRA) <经典波光学.pdf> 核心: 1. 只有'局域纠缠' 有经典模拟! 基于经典波光学的模拟模型系统,应用于3个涉及到3qu ...

  4. 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现一

    一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...

  5. win10子系统docker搭建gitlab Server

    心血来潮想搞一套cicd玩玩,结果开始就掉坑里了. 遇到问题 不会写文,所以语言组织比较差,将就看着吧!就当记录一下这个坑以后没准还能用的上. 参照https://blog.csdn.net/Mono ...

  6. 初步学习Nuxt3

    Nuxt3 用于制作ssr 网页 支持vue3 所有的语法,并且支持了TypeScript, vite+vue3+composition api + ts.SPA单页面应用不能进行SEO优化,SSR应 ...

  7. golang之gRPC

    相关链接: grpc: https://grpc.io/docs/languages/go/quickstart/ protobuf: https://protobuf.dev/programming ...

  8. MySQL之数据排序

    在MySQL中,我们经常需要从数据库中检索数据,并根据特定的要求对数据进行排序.通常情况下,我们会根据数据中某一列的值进行排序,例如按照价格从低到高或从高到低对商品进行排序.但有时候,我们需要在数据中 ...

  9. Kafka可视化工具之Kafka Tool

    官网: https://www.kafkatool.com/download.html Kafka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序. Kafka Tool提供 ...

  10. python图形界面开发工具之PySimpleGUI

    缘起: 工作中使用频次较高的操作都需要登录到某个管理平台上进行选择操作,如果是给别人使用还算可以, 但是作为平常使用还是感觉较为繁琐,于是打算开发一个桌面小工具解决这个痛点,达到使用时及时调起使用,方 ...