Python 包与项目管理工具——uv

一、工具选型:为什么用 uv

Python 的环境管理方案很多,常见的有:

  • pip

  • conda

  • uv

  • ......

本文选择 uv 作为项目管理工具。

uv 的官方文档:uv

第三方中文文档:uv 中文文档

uv 的优点很多,最直观的一点是快:依赖解析和安装速度明显优于传统方案,同时也能很好地兼容 Python 生态。后面我们会用它来创建项目、管理依赖、维护虚拟环境。

二、安装 uv

安装方式可以参考官方文档:安装 | uv 中文文档

最简单的方式是直接用 pip 安装:

复制代码
pip install uv

安装完成后,可以在终端中执行:

复制代码
uv --version

如果能正常输出版本号,就说明安装成功。

如果想看更详细的安装教程,也可以参考这个视频:https://www.bilibili.com/video/BV1Stwfe1E7s/?vd_source=027c2a03670fbb56b93111d48fbf8119

三、配置国内镜像源

默认情况下,uv 会从国外源下载依赖,速度通常比较慢。推荐把下载源改成国内镜像站点。

uv 支持两种配置方式:

  • 项目级配置:只对当前项目生效,优先级高,但每个项目都要单独配置,比较麻烦。

  • 系统级配置:一次配置,全局生效,更推荐。

这里采用系统级配置。

Windows 系统,在 CMD 中运行:

复制代码
setx UV_DEFAULT_INDEX "https://pypi.tuna.tsinghua.edu.cn/simple"

设置完成后,重新打开终端即可生效。

macOS 或 Linux 系统:

复制代码
echo 'export UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple' >> ~/.zshrc && source ~/.zshrc

如果你使用的是 bash,可以把 ~/.zshrc 换成 ~/.bashrc。

常见的国内镜像站点如下,可以根据网络情况选择:

  • 阿里云:https://mirrors.aliyun.com/pypi/simple/

  • 腾讯云:https://mirrors.cloud.tencent.com/pypi/simple/

  • 火山引擎:https://mirrors.volces.com/pypi/simple/

  • 华为云:https://mirrors.huaweicloud.com/repository/pypi/simple/

  • 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/

  • 中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple/

四、创建项目并安装 Jupyter

接下来创建一个实际项目。开发工具使用 PyCharm ,项目管理使用 uv。

第一步,打开 PyCharm,新建一个 Project。在解释器配置中选择 uv,让 PyCharm 使用 uv 来管理项目环境。

项目创建完成后,还需要引入 Jupyter Notebook 依赖。后续课程中会大量使用 Notebook 来演示代码。

在 PyCharm 左侧点击 Terminal 按钮,打开终端,输入:

复制代码
uv add notebook

这条命令会把 notebook 加入项目依赖,并自动完成安装。

五、跑通第一个 Notebook

环境准备好后,创建一个 Notebook 来测试。

在项目中新建一个 Jupyter Notebook 文件,命名为 hello.ipynb。

然后在代码单元格中输入:

复制代码
print("Hello World")

按快捷键 SHIFT + ENTER 运行。

如果下方正确输出:

复制代码
Hello World

说明 uv、PyCharm、Jupyter 以及项目依赖都已经配置成功,开发环境可以正常使用了。

六、小结

本节完成了开发环境的搭建:

  1. 选择 uv 作为 Python 项目管理工具;

  2. 安装 uv;

  3. 配置国内镜像源,提升依赖下载速度;

  4. 使用 PyCharm + uv 创建项目;

  5. 通过 uv add notebook 引入 Jupyter;

  6. 创建并运行第一个 Notebook,验证环境。

到这里,开发环境已经准备完毕。接下来就可以正式开始用代码调用大模型 API 了。

相关推荐
yl453044 分钟前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
笨笨饿1 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
for_ever_love__2 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
打工仔折腾 AI2 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战
I Am a robert girl2 小时前
当传感器学会“说谎“:拆解可靠性门控的稀疏惯性动捕融合
python·姿态估计·传感器融合·惯性动捕·imu传感器·可靠性门控·可穿戴计算
李航19832 小时前
AI定制柜建模,需要详细的建模规范和标准流程
人工智能·python·计算机视觉·ai·ai编程
沙漠之主3 小时前
Python 教学设计资料:从入门到实战的完整课程方案
爬虫·python
ebiobiz4 小时前
极海 APM32 使用 Nimmake 编译指南
c++·python·单片机·嵌入式硬件·mcu
慢云智慧空间4 小时前
从智能终端到空间AI,慢云科技如何重新定义智慧建筑的核心能力?
人工智能·python·科技
2601_962885725 小时前
如何用 Python 做股价历史分位选股?(筛出处于历史低位的股票)
开发语言·python