从conda转uv快速上手

【需要有conda使用基础】

uv 是用 Rust 编写的,它的包解析和安装速度通常比 Conda 或传统的 pip 快几十倍甚至上百倍。

在习惯了 Conda 工作流的前提下,使用 uv 其实非常简单。

conda和uv最大的区别

  • Conda是全局中心化的。 也就是运行 conda create -n myenv,这个环境会保存在 Anaconda 的安装目录下。无论你在哪个项目中,都可以 conda activate myenv
  • uv默认是项目本地化的。 当使用 uv venv 时,它会在当前的文件夹里创建一个名为 .venv 的隐藏文件夹。这和 Python 标准的 venv 是一样的,好处是环境和项目代码绑定,不容易和别的项目冲突。

卸载Anaconda

(win)直接找uninstall.exe
(linux)略

安装uv

windows

powershell

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

linux(..)

bash

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

验证安装

关掉刚刚的命令行窗口,再重新打开一个

1
uv --version

输出版本号就代表装好了

重装python

由于之前把anaconda卸载了,机器上没有python环境,打开vscode会弹出这个东西:
image.png
点击安装python

使用uv

创建虚拟环境

在终端里,在项目根目录下,输入:

1
uv venv --python 3.xx

也可以不指定python版本
这相当于conda create

激活虚拟环境

windows

1
.venv\Scripts\activate

linux(。。)

1
source .venv/bin/activate

相当于conda activate

激活后,前面会显示.venv或者你的项目名

安装依赖包

1
2
3
4
5
# 安装单独的包
uv pip install requests

# 批量安装
uv pip install -r requirements.txt

Conda vs uv 完全等效命令速查表

命令 Conda 命令 uv 命令
安装特定的 Python 版本 (包含在 create 中) uv python install 3.10
创建新环境 conda create -n myenv python=3.10 uv venv --python 3.10
(在当前目录生成 .venv 文件夹)
激活环境 conda activate myenv source .venv/bin/activate(Linux)
.venv\Scripts\activate(Windows)
安装包 conda install numpy uv pip install numpy
卸载包 conda remove numpy uv pip uninstall numpy
查看已安装的包 conda list uv pip list
导出环境依赖 conda env export > environment.yml uv pip freeze > requirements.txt
根据文件创建环境 conda env create -f environment.yml uv pip install -r requirements.txt

【重点】uv进阶用法

conda里面是deactivate,uv里面也是deactivate

但是“必须先激活、用完再退出”是Conda的全局环境管理思维!!(跟你们安卓思维讲不通.jpg)

咱uv是“基于工作目录自动感知”的管理思维:只要当前目录(或上级目录)里有个 .venv 文件夹,所有的 uv 命令就会极其听话地只对这个环境生效,绝不乱动系统的 Python。

1. 丝滑包管理

完全不需要激活环境,只要在 .venv 同级目录:

  • uv pip install pandas:直接把包精准装进当前的 .venv 里。
  • uv pip list:直接查看当前环境装了什么包。
  • uv pip tree:(强烈推荐!) 这个命令会把你当前环境的包以“依赖树”的形态打印出来。比如你在搞大模型微调,看 transformersflash-attn 的底层依赖版本,一目了然。
  • uv pip freeze > requirements.txt:一键导出当前环境的依赖。

2. 万物皆可 uv run

  • uv run <script>.py:直接在当前项目环境下运行脚本。
  • uv run python:直接进入当前虚拟环境的 Python 交互模式(REPL)。
  • uv run jupyter lab:(核心重点!) uv 会自动用 .venv 里的 Python 启动 Jupyter。连配置内核那两步都省了,打开网页默认就是当前环境。
  • uv run pytest:直接运行当前环境下的单元测试。

3. 一次性“阅后即焚”环境

假设随便从网上 copy 了一段代码,它需要用到 matplotlibseaborn 画图,但你不想把这俩包塞进你目前干干净净的主环境里。

  • uv run --with matplotlib,seaborn test_memory.py
    uv 会在极其隐蔽的系统缓存里,瞬间(真的是毫秒级)建一个临时环境,装上这俩包,跑完你的代码出完图,然后直接把环境扬了,不留一丝痕迹。主.venv 依然干干净净。

4. 极速环境管理

  • uv venv:在当前目录下瞬间创建一个纯净的 .venv。速度比 python -m venv 或者 conda create 快几十倍。
  • uv python install 3.10:如果你的项目需要特定的 Python 版本,直接敲这个。uv 会自己去下载 Python 3.10,不需要你再去 Linux 系统里折腾 apt 编译安装了。

FAQ

VS Code 找不到正确 venv /静态分析失效

VS Code右下角找不到Python环境和解释器,导致静态分析失效?
项目套项目会导致这个问题,左边资源管理器打开项目根目录即可。
方法1:VS Code左上角文件 → 打开文件夹
方法2:终端载入项目根目录,输入code .

终端里conda环境套uv环境

有时候打开终端,第一行自动弹出

1
2
3
4
5
(base) moss@Cumtb1405:~/Projects/learn-claude-code$  source /home/moss/Projects/learn-claude-code/.venv/bin/activate

(learn-claude-code) (base) moss@Cumtb1405:~/Projects/learn-claude-code$ conda deactivate

(learn-claude-code) moss@Cumtb1405:~/Projects/learn-claude-code$

终端自动给我开了一个conda环境,又自动开了venv。输入conda deactivate把conda环境关掉是正确的,但是每次都手动关一下很烦。

终端输入以下内容即可

1
conda config --set auto_activate false

这样就把自动激活conda环境关掉了


从conda转uv快速上手
https://suanlilog.com/2026/03/04/tutorial/从conda转uv快速上手/
作者
zihan12ai
发布于
2026年3月4日
许可协议