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 了。

相关推荐
weixin199701080161 小时前
[特殊字符]《京东POP二手品类对接:B2C订单模型 vs 二手C2C属性的字段转换难题》(附Python源码)
前端·python·算法
承渊政道1 小时前
Python IDLE鸿蒙PC适配全记录:从Tkinter桌面程序到ArkUI原生开发闭环
开发语言·python·harmonyos·鸿蒙系统·桌面程序
人工干智能2 小时前
爱因斯坦求和约定(Einstein Summation Convention)及einsum() 函数
python
YMWM_2 小时前
查看realsense相机序列号脚本
开发语言·python·数码相机
lbb 小魔仙2 小时前
Python 项目 CI/CD 实战:用 GitHub Actions 搭建自动化测试、覆盖率与发布流水线
python·ci/cd·github
西瓜太郎12342 小时前
request_id 如何串起请求、路由、计费和日志
后端·python
troy1282 小时前
Python 基础语法(一):变量、数据类型与运算符
java·服务器·python
用户298698530143 小时前
Python 将 Word 文档转换为图片的实践指南
后端·python·api
弈栈录3 小时前
LangChain Agent 实战:快速构建可调用工具的智能体
python·架构