python环境依赖配置从pip到uv(从以前到现在): uv的使用教程

python环境依赖配置从pip到uv(从以前到现在): uv的使用教程

我们来回顾以下我们以前创建项目时的步骤。

首先,创建一个python环境,编写下面的代码

import numpy as np
np = np.array([1,2,3,4,5])
print(np)

我们发现需要导入包numpy,最开始我们是直接使用pip导入

pip install numpy

导入之后我们可以直接使用了,但是我们会发现,这里的包导入的是python的全局环境中,如果我们项目工程逐渐复杂,包之间的依赖冲突就会出现。会导致版本冲突,地狱依赖

于是我们为了更好的管理我们的项目我们创建一个新的虚拟环境

python -m venv .venv

产生一个虚拟环境,这里的.venv就是我们给虚拟环境起的名字。

执行完代码后会发现多出一个.venv的目录,里面存放的是一个独立的python环境所需要的所有文件。

然后我们需要激活环境
使用以下指令:

.venv/Scripts/activate

激活环境后我们再次安装

pip install numpy

这一次安装就会安装在我们的虚拟环境的文件夹.venv里

其实主要是修改了python中的sys.path的这个变量,里面记录了python在导入模块时,需要搜索的一系列文件夹路径。

在终端执行以下代码你就会看到这些路径,当我们import numpy的时候他就会一次在这些包里去寻找,直到找到numpy这个包。

python
import sys,pprint
pprint.pp(sys.path)

在激活了虚拟环境后,sys.path会被修改,我们的虚拟环境目录会被添加到这个搜索列表里,

在这里插入图片描述

那我们如何读取依赖项呢,我们使用以下命令可以打印出依赖项。

pip freeze > requirements.txt

当别人拿到这个项目的时候就无需关心你所需要的依赖项了,直接执行以下代码读取所有的依赖并且安装。

pip install -r requirements.txt

但是仍然会存在着一些问题,比如说有些依赖并不是我们所真的需要的,有一些间接依赖,我们在删除掉我们指定的依赖后并不会删除掉它的一些间接依赖。

比如还有一种方法就是我们新建一个文件pyproject.toml文件直接添加依赖

[project]
name = "proj"
version = "0.1.0"

直接加入一个字段dependencies中你所要添加的依赖项

[project]
name = "proj"
version = "0.1.0"
dependencies = [
    "numpy>=2.3.2",
]

在里面添加你想要添加的配置文件后执行指令,然后程序就会读取这个配置文件然后安装对应的依赖。

pip install -e .

那么问题来了,有没有既实惠还管饱的操作呢?有的兄弟,有的有的。

这就我们就会要讲到uv这个东西了,你可以理解为上述对应的venv、pip的高级封装。

我们正式学习uv

首先你要导入uv的依赖

pip install uv

使用uv初始化项目

uv init mytest(文件名称)

在这里插入图片描述

执行这两行指令后会自动生成一个mytest的文件夹里面主要生成的文件是pyproject.toml

然后执行指令去创建一个新的虚拟环境

#切换到这个目录下
cd .\mytest\
#创建虚拟环境
uv venv  #后面可以添加(环境名),以及python的版本如 --python 3.10
#激活虚拟环境
.venv/Scripts/activate

在这里插入图片描述
这样你的虚拟环境以及依赖就可以随着你的心意导入了

之后你添加依赖直接使用以下指令,它会自动寻找对应的venv然后下载依赖并且更新pyproject.toml文件里的依赖信息。

uv add numpy

运行代码可以直接使用以下指令直接运行,他会自动找寻到对应的venv然后执行代码。

uv run main.py

💡现在你的虚拟环境就搭建好了。然后你使用pycharm的话一定要手动导入你现在所创建的虚拟环境的解释器(一定要导)

当别人拿到你的项目的时候就可以直接执行这条指令,程序就会根据pyproject.toml文件去下载依赖以及配置虚拟环境了。

uv sync

这么看来是不是uv很简单,操作是不是更加的快捷了。

现在你就可以快乐的去使用uv啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员miki

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值