当前位置: 首页 > news >正文

开发环境搭建-2:配置 python 运行环境(使用 uv 管理 python 项目)

在 WSL 环境中配置:WSL2 (2.3.26.0) + Oracle Linux 8.7 官方镜像

UV 介绍

uv软件官网(github 需要梯子,没错这个软件的官网真就是 github 页面):https://github.com/astral-sh/uv

中文官网(github 需要梯子,是官网的个人汉化):https://hellowac.github.io/uv-zh-cn/

为啥选择uv

  1. 快,相比 pip 超快
  2. 一条龙管理:可管理项目、 python 版本、pip 软件包、依赖
    (类似于 conda 的功能)

使用参考:

  1. https://blog.yasking.org/a/python-project-manager-uv.html
  2. https://www.cnblogs.com/wang_yb/p/18635441

uv 安装

这里使用独立安装包进行安装(这样日后可以独立升级uv

WSL中执行以下指令

curl -LsSf https://astral.sh/uv/install.sh | sh

执行过程中如果出现问题,也可以先尝试下载保存 .sh文件,然后再执行文件

# 1. 将文件下载并保存,保存文件名为 install.sh
curl -LsSf https://astral.sh/uv/install.sh -o install.sh# 2. 执行下载的文件
chmod a+x install.sh
./install.sh

安装完成会提示everything's installed!

uv 创建项目

使用uv创建一个 Python 项目:uv init 项目路径(路径+名称)

这里以官方的示例项目为例,在当前目录下创建项目文件夹

uv init example

文件夹中包含依赖、虚拟环境的配置清清单、程序代码文件等

依赖清单(pyproject.toml)中的内容

指定了 python 版本(>=3.13)、依赖(dependencies)

创建 python 虚拟环境

类似 conda 的创建环境指令:conda create -n your_env_name python=X.X

语法:uv venv 环境名称 --python 版本
环境名称、版本可省略:uv venv

uv venv test-V13 --python 3.13

提示创建成功,激活可以输入下面绿色文字

会在当前项目下创建虚拟环境文件夹

激活虚拟环境

类似 conda 的环境切换指令:source activate your_env_name

激活前需要先创建对应的虚拟环境

语法:source 虚拟环境文件夹路径/bin/activate

source

激活成功后,命令行左侧多出一个()区域,显示当前激活的 python 虚拟环境

验证当前 python 指令是否可以执行

uv 配置 pip 加速

类似使用 pip 时在 pip.conf 中配置的 [global] index-url = XXX 配置

虚拟环境激活后,相当于正常使用 python

python 默认的包管理工具 pip 会向国外网站获取数据,速度较慢,需要换成国内的源,加速 pip
参考官方文档,设置uv的全局加速


~/.config/uv/uv.toml文件中,添加以下内容(如果没有文件就大胆新建)

vim ~/.config/uv/uv.toml

修改并保存配置,这里使用清华源

url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true

其他源可参考:https://blog.csdn.net/HandsomeHong/article/details/123963679

安装项目依赖包(对于 Python 项目也可装 python 依赖包)

cd example
uv add ruff

这里可见,uv使用uv add添加 python 依赖包

  1. 这个 API 更偏向于项目管理
    需要先在pyproject.toml中指定需要的包(类似原 python 中的requirements.txt
  2. 实际上用uv pip效果相同,但从大型项目角度不利于维护

安装 python 依赖包

类似 pip install XXX

注意:这个操作需要先激活一个虚拟环境
语法:uv pip install 包名
示例,安装一个requests包(体验极快的速度)

编写程序文件
这里打开示例项目中的hello.py文件,相当于我们编写的程序

vim hello.py

示例程序会输出一句:Hello from example!

执行 Python 脚本

执行示例项项目中的 python 程序

  • 示例项目路径:/opt/uv-py/example.
  • python 文件名称:hello.py
cd /opt/uv-py/example
python hello.py

执行结果,与上面的代码逻辑一致

注意:这里执行的前提是先激活一个 Python 环境,否则无法执行python这个指令

http://www.lryc.cn/news/525097.html

相关文章:

  • STM32 ST7735 128*160
  • 【面试总结】FFN(前馈神经网络)在Transformer模型中先升维再降维的原因
  • VB读写ini配置文件将运行文件放入任务计划程序设置为开机自启动
  • Java基础 (一)
  • 数据结构——实验六·散列表
  • springboot网上书城
  • 如何在 Pytest 中使用命令行界面和标记运行测试
  • 不建模,无代码,如何构建一个3D虚拟展厅?
  • github汉化
  • Unity Line Renderer Component入门
  • 数据库的三级模式结构与两级映像
  • TCP断开通信前的四次挥手(为啥不是三次?)
  • win32汇编环境,按字节、双字等复制字符的操作
  • .net 项目引用与 .NET Framework 项目引用之间的区别和相同
  • RabbitMQ--延迟队列
  • 使用pyboard、micropython和tja1050进行can通信
  • JS学习之JavaScript模块化规范进化论
  • 亚博microros小车-原生ubuntu支持系列:7-脸部检测
  • 第二届国赛铁三wp
  • 缓存商品、购物车(day07)
  • 4【编程语言的鄙视链原因解析】
  • 美团一面面经
  • 什么是报文的大端和小端,有没有什么记忆口诀?
  • Spring中BeanFactory和ApplicationContext的区别
  • 期货行业专题|基于超融合实现 IT 基础设施现代化与国产化转型实践合集
  • AI新玩法:Flux.1图像生成结合内网穿透远程生图的解决方案
  • Jenkins-pipeline Jenkinsfile说明
  • vue3中为什么引入setup,引入setup是为了解决什么问题,setup的执行时机是什么?返回值是什么
  • Ubuntu 安装 docker 配置环境及其常用命令
  • 自动化01