从conda转uv快速上手
👋 欢迎来到算栗工坊! 我是 Zihan,持续关注并分享关于 LLM、Python 开发及算法等方向的思考与实践。 🌐 全网同名:算栗工坊 | Github | 小红书 | 知乎
【2026.4.15更新】
1. uv init xhs_scraper¶
-
你以前的做法:
mkdir xhs_scraper->cd xhs_scraper->uv venv -
新模式的魔法: 这一个命令,不仅帮你建了文件夹、建了
.venv虚拟环境,最重要的是,它帮你生成了一个pyproject.toml文件。 这东西就是现代版的requirements.txt。
2. uv add playwright¶
-
你以前的做法: 先
source .venv/bin/activate-> 然后uv pip install playwright-> 最后还得记得uv pip freeze > requirements.txt。 -
新模式的魔法: 自动下载安装包,并且自动把依赖写进
pyproject.toml里。你再也不用手动去维护那恶心的requirements.txt了!依赖管理变成了全自动"记账"。
3. uv run ...¶
-
你以前的做法: 每次连上 SSH,都得先
source .venv/bin/activate,一不小心忘了激活,就把包全装到全局环境里去了。 -
新模式的魔法: 免激活! 只要你在项目目录里,输入
uv run python spider.py,它会自动找到那个.venv,在虚拟环境里把代码跑完,跑完自动退出。你的终端永远保持干净,不会被一堆(myenv)搞得乱七八糟。
【需要有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
linux(..)¶
bash
验证安装¶
关掉刚刚的命令行窗口,再重新打开一个
输出版本号就代表装好了重装python¶
由于之前把anaconda卸载了,机器上没有python环境,打开vscode会弹出这个东西:
点击安装python
使用uv¶
创建虚拟环境¶
在终端里,在项目根目录下,输入:
也可以不指定python版本 这相当于conda create
激活虚拟环境¶
windows
linux(。。) 相当于conda activate
激活后,前面会显示.venv或者你的项目名
安装依赖包¶
Conda vs uv 完全等效命令速查表¶
| 命令 | Conda 命令 | uv 命令 |
|---|---|---|
| 安装特定的 Python 版本 | (包含在 create 中) | uv python install 3.10 |
| 创建新环境 | conda create -n myenv python=3.10 |
uv venv --python 3.10 |
| 激活环境 | 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的全局环境管理思维!!
咱uv是"基于工作目录自动感知"的管理思维:只要当前目录(或上级目录)里有个 .venv 文件夹,所有的 uv 命令就会极其听话地只对这个环境生效,绝不乱动系统的 Python。
1. 丝滑包管理¶
完全不需要激活环境,只要在 .venv 同级目录:
- uv pip install pandas:直接把包精准装进当前的 .venv 里。
- uv pip list:直接查看当前环境装了什么包。
- uv pip tree:(强烈推荐!) 这个命令会把你当前环境的包以"依赖树"的形态打印出来。
- 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. 一次性"阅后即焚"环境¶
uv run --with matplotlib,seaborn test_memory.pyuv会在极其隐蔽的系统缓存里,瞬间建一个临时环境,装上这俩包,跑完你的代码出完图,然后直接把环境扬了,不留一丝痕迹。
4. 极速环境管理¶
uv venv:在当前目录下瞬间创建一个纯净的.venv。uv python install 3.10:直接下载指定版本的 Python。
FAQ¶
VS Code 找不到正确 venv /静态分析失效¶
项目套项目会导致这个问题,左边资源管理器打开项目根目录即可。
方法1:VS Code左上角文件 → 打开文件夹
方法2:终端载入项目根目录,输入code .
终端里conda环境套uv环境¶
终端自动给我开了一个conda环境,又自动开了venv。输入conda deactivate把conda环境关掉是正确的,但是每次都手动关一下很烦。
终端输入以下内容即可
这样就把自动激活conda环境关掉了🌟 保持联系,继续探索!¶
- 💻 GitHub: Github | 小红书
- 📚 更多笔记: 算栗工坊suanlilog.com | 算栗工坊 - 知乎
- 💬 社交动态: 小红书
版权声明:本文遵循 CC BY-NC-SA 4.0 协议。