使用uv安装多个Python版本的使用方法全攻略

 更新时间:2025年12月29日 08:29:50   作者:weixin_46244623  
本文介绍了新一代Python工具uv,它集成了pyenv、venv和pip的功能,提供更高效的Python版本管理、虚拟环境创建和依赖管理,感兴趣的小伙伴可以了解下

本文介绍了新一代Python工具uv,它集成了pyenv、venv和pip的功能,提供更高效的Python版本管理、虚拟环境创建和依赖管理。uv采用Rust编写,速度快且兼容性强,支持Linux/macOS/Windows系统。本文详细讲解了uv的安装方法、Python版本管理、虚拟环境创建、pip替代用法等核心功能,并提供了标准项目流程模板。与pyenv/venv对比,uv具有明显优势,是Python开发的推荐工具。

  • 适用于:Ubuntu / Linux / macOS / Windows
  • 本文环境:Ubuntu 20.04
  • Python 版本:3.8 ~ 3.13

一、uv 是什么?为什么要用 uv

uv 是 Astral(ruff 作者)推出的新一代 Python 工具,目标是 统一并替代 现有的 Python 工具链。

一句话总结:

uv = pyenv + venv + pip 的高速合体版

uv 的核心优势

  • 超快(Rust 编写)
  • 安装多个 Python 版本(不依赖系统 Python)
  • 创建和管理虚拟环境
  • 完全替代 pip
  • 单一二进制文件,无复杂依赖
  • 与 VS Code / PyCharm 完美兼容

二、安装 uv(Linux / Ubuntu)

方式一:官方推荐(最简单)

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

安装完成后重新加载环境变量:

source ~/.bashrc

验证是否安装成功:

uv --version

方式二:使用 Cargo(不推荐新手)

cargo install uv

三、使用 uv 安装 Python 各种版本(重点)

查看可安装的 Python 版本

uv python list

示例输出:

3.8.18
3.9.19
3.10.14
3.11.9
3.12.3
3.13.0

安装指定 Python 版本

安装 Python 3.12(推荐)

uv python install 3.12

安装多个版本(可共存)

uv python install 3.10
uv python install 3.11
uv python install 3.13

不会覆盖系统自带 Python

查看已安装的 Python 版本

uv python list --installed

Python 安装目录说明

~/.local/share/uv/python/

每个 Python 版本都是完全独立的目录,互不干扰。

四、使用 uv 创建虚拟环境(核心)

在项目目录创建虚拟环境

cd your_project
uv venv

默认行为:

  • 使用最新 Python
  • 创建 .venv 目录

指定 Python 版本创建虚拟环境(推荐)

使用 Python 3.12

uv venv --python=3.12 .venv

使用 Python 3.10

uv venv --python=3.10 .venv

推荐统一使用 .venv 作为虚拟环境目录名

激活虚拟环境

source .venv/bin/activate

出现:

(.venv)

表示激活成功。

退出虚拟环境

deactivate

五、uv 替代 pip 的用法(非常快

安装依赖

uv pip install requests flask

从 requirements.txt 安装

uv pip install -r requirements.txt

查看已安装的包

uv pip list

生成 requirements.txt

uv pip freeze > requirements.txt

六、推荐的标准项目流程(模板)

mkdir my_project
cd my_project

# 创建 Python 3.12 虚拟环境
uv venv --python=3.12 .venv

# 激活环境
source .venv/bin/activate

# 安装依赖
uv pip install fastapi uvicorn

# 运行程序
python main.py

七、uv 的高级用法

不激活环境直接运行脚本

uv run python script.py

或指定 Python 版本:

uv run --python=3.12 python script.py

uvx:临时运行工具(神器)

uvx black .
uvx ruff check .
uvx pytest

特点:

  • 不安装到环境
  • 用完即走
  • 非常适合 CI / 本地格式化

八、uv 与 pyenv / venv 对比

功能uvpyenvvenv
安装 Python
虚拟环境
pip 管理
速度🚀🚀🚀
单工具

新项目强烈推荐直接使用 uv

九、常见问题汇总

IDE 找不到 Python 解释器

手动指定:项目目录/.venv/bin/python

uv venv 创建失败

确认 Python 是否已安装:

uv python list --installed

Ubuntu 20.04 没有 Python 3.12?

uv 自带官方构建版本,不依赖系统仓库,可放心使用。

十、总结

  • uv 是目前最先进、最简洁的 Python 工具链
  • 完美替代 pyenv + venv + pip
  • 特别适合新项目和多 Python 版本开发

一句话建议:以后新项目,直接用 uv,不要再折腾 pyenv 了。

到此这篇关于使用uv安装多个Python版本的使用方法全攻略的文章就介绍到这了,更多相关uv安装多个Python版本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Pytorch十九种损失函数的使用详解

    Pytorch十九种损失函数的使用详解

    这篇文章主要介绍了Pytorch十九种损失函数的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python专用方法与迭代机制实例分析

    Python专用方法与迭代机制实例分析

    这篇文章主要介绍了Python专用方法与迭代机制,包括类的私有方法、专有方法、模块私有对象、迭代__iter__()方法的对象等,需要的朋友可以参考下
    2014-09-09
  • Python小红书旋转验证码识别实战教程

    Python小红书旋转验证码识别实战教程

    这篇文章主要介绍了Python小红书旋转验证码识别实战教程,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-08-08
  • 详解python单例模式与metaclass

    详解python单例模式与metaclass

    这篇文章主要介绍了python单例模式与metaclass,文章介绍了单例模式的实现方式
    2016-01-01
  • python机器学习高数篇之函数极限与导数

    python机器学习高数篇之函数极限与导数

    这篇文章主要介绍了python机器学习高数篇之函数极限和导数,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Python中HTTP请求的全面指南

    Python中HTTP请求的全面指南

    在现代网络应用中,HTTP(HyperText Transfer Protocol)协议是客户端与服务器之间数据传输的核心,本文都将从基础到高级,逐步引导你成为HTTP请求处理的高手,快跟随小编一起学习起来吧
    2024-10-10
  • 对pandas进行数据预处理的实例讲解

    对pandas进行数据预处理的实例讲解

    下面小编就为大家分享一篇对pandas进行数据预处理的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python Matplotlib绘图基础知识代码解析

    Python Matplotlib绘图基础知识代码解析

    这篇文章主要介绍了Python Matplotlib绘图基础知识代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Python Tkinter GUI编程入门介绍

    Python Tkinter GUI编程入门介绍

    这篇文章主要介绍了Python Tkinter GUI编程入门介绍,本文讲解了Tkinter介绍、Tkinter的使用、Tkinter的几何管理器等内容,并给出了一个完整示例,需要的朋友可以参考下
    2015-03-03
  • Python中if __name__ == ''__main__''作用解析

    Python中if __name__ == ''__main__''作用解析

    这篇文章主要介绍了Python中if __name__ == '__main__'作用解析,这断代码在Python中非常常见,它有作用?本文就解析了它的作用,需要的朋友可以参考下
    2015-06-06

最新评论