基于uv轻松创建和管理Python虚拟环境——从安装到使用全流程教学 · 新手小白教程

发布时间:2026/7/15 20:49:55
基于uv轻松创建和管理Python虚拟环境——从安装到使用全流程教学 · 新手小白教程 0 虚拟环境简介从官网上直接下载的Python安装包本质上是在我们的设备上安装了一个Python解释器和一个可供解释器正常运行的全局环境全局环境主要包括以下主要程序和文件Python311/ ← 全局环境根目录 ├── python.exe ← 全局Python解释器 ├── Scripts/ │ └── pip.exe ← 全局pip └── Lib/ ├── 标准库 ← Python标准库存放处 └── site-packages/ ← 所有通过pip安装的第三方包存放处而虚拟环境实质上就是全局环境的一个副本用来确保不同项目之间的依赖关系不发生冲突并保证项目在不同机器上运行的一致性。一个虚拟环境的主要程序和文件为.venv/ ← 虚拟环境根目录 ├── Scripts/ │ ├── python.exe ← 虚拟环境的Python解释器 │ └── pip.exe ← 虚拟环境专用pip └── Lib/ └── site-packages/ ← 所有通过pip安装的第三方包存放处对比可知虚拟环境与全局环境的区别主要体现在以下两个方面Scripts文件夹虚拟环境的Scripts文件夹下同时包含pip.exe和python.exe因此只需通过一个环境变量即可对应到该虚拟环境。Lib文件夹虚拟环境的Lib文件夹下不包含标准库将直接引用全局环境中的标准库。1 uv简介uv作为python管理开发环境的未来主流它的优势主要体现在三个维度优势一极致的速度这是uv最直观的优势也是它被称为黑马的原因。uv由Rust语言编写从底层就为性能而生。在安装包、解析依赖这些日常操作上uv的速度是碾压级的。特别是对于有复杂依赖的大型项目这种速度提升是质的飞跃。这种速度上的巨大优势在需要频繁安装依赖的CI/CD持续集成/持续部署流程中尤其能提升效率。优势二All-in-One的集成体验在uv出现之前我们需要组合使用多个工具用pyenv管理Python版本用venv或conda管理虚拟环境再用pip管理包。而uv的目标是成为Python界的CargoRust的构建工具和包管理器用一个工具即可完成所有工作。功能领域传统工具链uv 的一站式方案Python版本管理pyenvuv python install虚拟环境管理venv/virtualenvuv venv包安装与依赖解析pippip-toolsuv pip/uv add项目管理与锁定poetry/pipenvuv init/uv lock运行一次性脚本/工具pipxuvx(即uv tool run)这意味着你不再需要学习和配置多个工具一个uv就能全部搞定大大降低了初学者的入门门槛。优势三可靠且轻量的环境管理uv在继承venv轻量级优点的同时还解决了依赖管理上的大问题。锁文件确保一致性和venv不同uv会自动生成一个uv.lock文件它像一张全家福记录了项目依赖的确切版本确保你、你的同事、你的服务器在任何机器上安装的环境都完全一致解决了在我电脑上能跑的尴尬。轻量级不臃肿uv创建的虚拟环境通过符号链接等方式复用Python解释器因此非常轻量通常只有几MB到十几MB。这一点与conda完全不同conda每个环境都会完整复制一份Python解释器和所有库因此一个环境动辄占用几百MB甚至上GB的硬盘空间。2 uv安装2.1 指定uv安装路径在Windows系统上安装uv时想指定安装路径可以通过设置环境变量UV_INSTALL_DIR来实现。这个环境变量控制的是uv这个可执行程序本身的安装位置。不过请注意uv 的下载缓存、Python 解释器安装目录等其他数据默认仍会放在系统盘C盘的默认位置。如果你不仅想移动uv程序本身还想把uv下载的Python解释器、缓存文件等也一并移出C盘需要在powershell中执行安装命令前额外设置这些环境变量并用分号隔开。环境变量作用设置示例可永久添加UV_INSTALL_DIRuv 程序本身的安装位置D:\uvUV_PYTHON_INSTALL_DIRuv python install下载的所有Python版本的存放位置D:\uv\PythonUV_CACHE_DIRuv 的全局缓存目录下载的包等D:\uv\cacheUV_TOOL_DIRuv 安装的全局工具目录D:\uv\tool特别注意uv不会自动创建这些目录你需要先手动在D盘建立好文件夹结构。2.2 在PowerShell中执行安装在Windows上最推荐的安装方式是使用PowerShell脚本安装。你可以在执行安装命令之前先设置好UV_INSTALL_DIR环境变量从而将uv安装到指定目录。命令格式如下$env:UV_INSTALL_DIR D:\UV; $env:UV_PYTHON_INSTALL_DIR D:\UV\Python; $env:UV_CACHE_DIR D:\UV\cache; $env:UV_TOOL_DIR D:\UV\tool; powershell -ExecutionPolicy ByPass -c irm https://astral.sh/uv/install.ps1 | iex操作步骤打开PowerShell在Windows11的开始菜单中搜索并打开“PowerShell”右键选择“以管理员身份运行”虽然安装到用户目录不一定需要管理员权限但以防万一。替换路径将D:\uv、D:\uv\Python、D:\uv\cache、D:\uv\tool替换为你实际想要安装的目录。执行命令将完整的命令粘贴到PowerShell中并回车执行即可将uv按照你指定的路径进行安装。验证结果安装完成后可在cmd命令行输入uv --version来验证。若提示找不到命令需要手动添加uv的环境变量右击此电脑选择属性找到高级系统设置点击进入后找到环境变量并点击在系统变量中找到path并双击打开新建一个环境变量将UV_INSTALL_DIR的地址D:\uv添加进去并点击确认。添加完成后可再次尝试uv --version命令若能够显示uv版本代表安装成功。按照上述命令安装完成后的uv目录结构为D:\ └── uv\ ├── uv.exe uv主程序 ├── uvx.exe uv扩展工具 ├── uvw.exe uv包装器 ├── Python\ 存放不同版本的Python由uv自动管理 │ ├── 3.12.0\ │ └── 3.11.0\ ├── cache\ 存放下载的第三方包缓存 └── tool\ 存放通过uv安装的全局工具3 uv管理3.1 用uv管理Python版本这是uv非常强大的功能。你可以把它当作一个“Python版本管家”轻松安装和切换不同版本的Python。1. 查看可用的Python版本在powershell中输入uv python list这个命令会列出你电脑上已有的以及uv可以安装的所有Python版本。2. 安装特定版本的Python比如你想安装Python 3.12只需要在powershell中键入uv python install 3.12uv会自动下载并安装该版本。想安装最新的稳定版直接输入uv python install即可。3. 为项目固定Python版本进入你的项目文件夹执行以下命令uv会记住这个项目应该使用Python 3.12uv python pin 3.12这会在项目里创建一个.python-version文件来记录。之后你在这个项目里创建环境时uv会自动使用这个版本。3.2 用uv管理虚拟环境uv让创建虚拟环境变得超级简单而且它默认使用.venv作为环境文件夹非常规范。1. 创建虚拟环境首先用cmd或powershell命令行进入你的项目文件夹。然后执行uv venv --python 3.11这个命令会在当前目录下基于你指定的Python版本创建一个名为.venv的虚拟环境文件夹。如果uv发现你没有这个版本的Python它会自动帮你下载安装基于uv创建的.venv虚拟环境文件夹结构如下项目文件夹/ └── .venv/ ← 虚拟环境的根目录 ├── pyvenv.cfg ← 环境配置文件核心 ├── Scripts/ ← 可执行文件和脚本Windows核心 │ ├── activate ← 激活脚本无后缀用于bash等 │ ├── activate.bat ← 激活脚本用于cmd │ ├── Activate.ps1 ← 激活脚本用于PowerShell │ ├── deactivate.bat ← 退出激活状态脚本用于cmd │ ├── python.exe ← 虚拟环境的Python解释器 │ ├── pip.exe ← 虚拟环境专用pip │ └── ... (其他可执行文件) └── Lib/ ← Python标准库和第三方包存放处 └── site-packages/ ← 所有通过pip/uv安装的第三方包都在这里2. 激活虚拟环境这是新手比较容易卡住的一步。在命令行中执行.\.venv\Scripts\activate若此时命令行所在位置不在项目文件夹中可通过输入完整路径直接激活F:\LangChain\.venv\Scripts\activate如果遇到“无法加载脚本”的错误先执行Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass然后再激活。成功标志你的命令行提示符前面会出现(.venv)字样。3. 退出虚拟环境当你完成工作在命令行输入deactivate即可退出。deactivate进阶技巧使用uv run命令可以无需手动激活环境直接在里面运行脚本。比如uv run python my_script.pyuv会自动找到项目下的.venv环境来执行。3.3 用uv管理包uv管理包的体验和pip几乎一样但速度更快。你可以在激活虚拟环境后使用也可以直接用uv run。它的命令和pip完全一致上手零成本相关命令行指令如下1. 安装包uv pip install requestsuv默认从官方源PyPI即Python包索引下载。若想获得更快的下载速度我们只需要告诉uv去访问一个离你更近、速度更快的镜像站点比如清华源即可对应命令行如下。uv pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple/这个命令只对这一次安装生效下次安装其他包时uv又会回到默认源。若想永久使用镜像站点下载第三方包则需要执行下列步骤Step1: 在 Windows 搜索框输入“环境变量”点击“编辑系统环境变量”。Step2: 点击“环境变量(N)...”按钮。Step3: 在“用户变量”区域点击“新建(N)...”。Step5: 变量名为 UV_DEFAULT_INDEX变量值填写 https://pypi.tuna.tsinghua.edu.cn/simple/。Step6: 点击“确定”保存所有窗口并重启你的终端。之后所有的 uv pip install 命令都会自动通过指定的镜像网址下载无需额外配置。2. 从requirements.txt安装uv pip install -r requirements.txt3. 查看已安装的包uv pip list4.卸载包uv pip uninstall requests5.导出依赖清单这可以让你在项目里生成一个requirements.txt文件方便分享uv pip freeze requirements.txt高级用法对于项目更推荐使用uv add和uv remove命令。它们会自动修改pyproject.toml文件生成精确的uv.lock锁文件确保团队开发环境完全一致这比手动维护requirements.txt更专业君子性非异也善假于物也通过学习uv新手也可以轻松实现对于python版本、虚拟环境和包的管理。大家在学习操作的过程中遇到问题欢迎在评论区留言我们一起讨论学习~附录uv的Github主页https://github.com/astral-sh/uvuv的说明文档https://docs.astral.sh/uv/getting-started/