首页 > 编程语言 >新一代python版本与依赖管理工具 uv

新一代python版本与依赖管理工具 uv

时间:2025-01-07 14:22:45浏览次数:1  
标签:依赖 name python uv 管理工具 版本 pip

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  # 没错所有项目用的都是这个路径,就不必要去找了,因为都是项目目录下

标签:依赖,name,python,uv,管理工具,版本,pip
From: https://www.cnblogs.com/miaokela/p/18657532

相关文章

  • [Python爬虫] 抓取京东商品详情数据||京东商品列表接口采集
    一、引言在电商数据分析和市场调研领域,获取京东平台的商品数据至关重要。通过抓取京东商品详情数据以及利用商品列表接口采集数据,可以深入了解商品的各项信息,包括价格、销量、用户评价等,从而为电商从业者、市场分析师和数据爱好者提供有价值的决策依据。本教程将详细介绍如何......
  • python协程是否可以解决python多进程队列等待的时间消耗
    相关:强化学习:手动实现一个并行环境采样的代码——SynVectorEnv之前写了一个python环境下的多进程仿真环境采样的代码库,后来突发奇想,想到是否可以使用python的协程来解决python多进程同步通信的等待时间消耗,后来写了个Demo的代码,发现没有啥用,准确来说确实有提高,性能提高的又1......
  • Python语言中进程、线程、协程执行效率分析
    python语言中进程、线程、协程执行效率比较。问题:python语言中进程、线程、协程执行速度哪个最快?在Python中,进程、线程和协程的执行速度不能简单地进行比较,因为它们的性能取决于多种因素,包括任务类型、I/O操作、CPU密集型计算、操作系统调度策略以及Python解释器的实现。进......
  • Ray 源码分析系列(12)—python/ray._private
    前言这个文件夹下放置了python最核心的代码,从文件夹命名就可以知道,这部分的代码并不是用户可修改的部分,而是ray进行任务管理、节点交互、GCS通信等核心功能实现。核心实现概览文件名/模块名功能描述services.py负责Ray的核心服务管理,包括启动和停止Ray的......
  • 移远EC800M-CN的python代码使用
    本文档目的介绍EC800M模组使用python脚本控制的过程1.烧写QPython的模组固件,移远已经提供。资源下载|QuecPython,下载相应固件。2.安装模组的USB驱动,然后USB连接电脑,打开Qpycom,选择串口,下载-》选择固件-》下载固件3.下载完成后,模组会重启。4.在Qpycom中,重新选择串口,......
  • 5个代码技巧,加速你的Python!
    Python作为一种功能强大的编程语言,因其简单易学而受到很多初学者的青睐。它的应用领域又非常广泛:科学计算、游戏开发、爬虫、人工智能、自动化办公、Web应用开发等等。而在数据科学领域中,Python是使用最广泛的编程语言,并且其受欢迎程度持续增长。如果也经常需要用Python处理......
  • 【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
    ......
  • PYTHON与JAVA执行时间对比
    PYTHON与JAVA执行时间对比PYTHONJAVA结论PYTHONimporttimestart_time=time.time()n=int(input())jie=1sum=0i=1whilen>=i:jie=jie*isum=sum+jiei=i+1print(sum)end_time=time.time()print("程序执行时间为......
  • 如何在 Jupyter Notebook 中切换python环境
    目录1.参考2.如果是使用conda管理环境3.使用virtualenv1.参考https://blog.csdn.net/m0_61122217/article/details/1332824672.如果是使用conda管理环境condacreate-nmyenvpython=3.8condaactivatemyenvcondainstallipykernelpython-mipykernalinstall--u......
  • 排序算法模板--python版
    在刷算法题时,排序是一个非常常见的操作。Python提供了多种排序算法的实现方式,而在一些经典的算法题中,我们需要手动实现不同的排序算法以符合题目要求。以下是一些常见的排序算法模板,包含了冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序,这些算法的模板通常会在刷......