python-uv入门使用 - 教程

Python项目管理的发展流程:

1.为了解决项目之间的依赖冲突,我们用venv为每个项目生成隔离的虚拟环境;

2.在这个独立的环境之中,我们用pip install flask(一个轻量级的Pyhton Web框架)来安装所需要的包;

3.为了让别人能够复现这个环境,我们用pip freeze把虚拟环境中所有的包导出到一个名为requirements.txt的文件里,但它混合了所有的直接或间接依赖,很难被维护;

4.社区转向了pyproject.toml,我们只需要在其中声明项目的直接依赖,然后通过pip install -e.

安装工具(-e 就是 开发者模式安装,方便边写边测),就会自动处理好所有的间接依赖了;

5.由于手动编写pyproject.toml过于麻烦,催生了uv等高层项目管理工具。

注:以上描述来源于B站up:

隔壁的程序员老王

什么是uv?

uv是一个用 Rust 编写的极快的 Python 包和项目管理器。

使用了uv后,上面4行命令可以替换成下面的一行命令:(此处以flask为例)

uv add flask

如何使用uv?

我们以pycharm为例介绍一下如何使用uv。

也可以直接参考下面两篇文章:
https://blog.csdn.net/2401_85362787/article/details/149149461?fromshare=blogdetail&sharetype=blogdetail&sharerId=149149461&sharerefer=PC&sharesource=weixin_62294445&sharefrom=from_link

博客园的这篇文章对于如何在Pycharm中使用uv有更详细的说明:

https://www.cnblogs.com/NotOnlyAnAnswer/p/19101839

安装uv

1.对于win,我们直接win+R,输入cmd,然后Ctrl+Shift+Enter进入管理员终端,输入下面的命令:

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

或者去github上下载合适的安装包:

https://github.com/astral-sh/uv/releases

解压后路径添加到用户变量。

Pycharm使用uv

新建项目解释器类型选择自定义环境,类型选择uv,路径就是你下载的uv路径。

uv实战-MCP自动化渗透

参考这篇文章:

https://www.cnblogs.com/D1TA/p/18803169

1.初始化项目

uv init dirsearch-mcp-server

2.创建Python虚拟环境

cd dirsearch-mcp-server
uv venv

这将创建一个名为.venv的虚拟环境,所有依赖包都将安装在这个环境中,避免与其他项目产生冲突。

3.激活虚拟环境

.venv\Scripts\activate

4.安装依赖

uv add mcp[cli]

这将安装MCP的核心库及其命令行接口(CLI),为后续开发提供支持。

5.解决报错(此处不感兴趣可忽略)

报错如下:

发现依赖的Python版本不兼容,需要3.10以上版本。

可以使用如下命令安装其他版本的Python:

uv python install 3.12

下面再顺便介绍几个比较实用的命令:

·查看已经安装的Python版本:

uv python list

·查找某个Python版本的路径:

uv python find 3.10

·关闭虚拟环境:

deactivate

·修改配置文件内容:(使用notepad打开后直接编辑)

notepad pyproject.toml

安装完3.12后发现仍然无法安装mcp,原来是之前理解错了,报错的意思是:

·项目里某个依赖(split 包)强制要求 Python 3.9 (python_full_version == '3.9.*')。

·但 mcp[cli] 这个包要求 Python >=3.10

·所以 uv 解析依赖时,两个条件冲突,解不出来,直接报错。

所以我们直接手动编写依赖文件去掉冲突:

查看toml文件发现并没有强制要求Python 3.9。

我们将Python要求修改为>=3.10,然后同步:

uv sync

发现还是不行:

不过我们可以知道是python-version这个文件出了问题。

直接修改:

uv python pin 3.12

然后再执行:

uv sync

接下来再次尝试安装mcp:

安装成功!

posted @ 2025-09-23 17:20  yxysuanfa  阅读(42)  评论(0)    收藏  举报