uv安装使用
安装 uvWindows你当前的系统方式一PowerShell 官方安装脚本推荐powershellpowershell -ExecutionPolicy ByPass -c irm https://astral.sh/uv/install.ps1 | iex安装完成后需要重开一个终端或刷新 PATH然后验证powershelluv --version方式二用 pip 安装如果你已经有 Pythonpip install uv方式三用 conda / scoop / winget 等包管理器conda install -c conda-forge uv # 或 winget install --idastral-sh.uv -e # 或 scoop install uvmacOS / Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh或用 HomebrewmacOSbrew install uv安装后验证uv --version # 查看版本 uv python list # 查看 uv 发现的 Python uv venv # 在当前目录创建 .venv假设你已经装了 Python 3.12路径是D:\Users\Python\Python312\python.exe用这个 Python 3.12 创建虚拟环境powershelluv venv --python 3.12 myenv或者更精确地直接指定那个解释器路径避免歧义powershelluv venv --python D:\Users\Python\Python312\python.exe myenv其中myenv是你要创建的环境目录名可以换成任意名字比如.venv。说明uv 会自动发现并复用系统里已安装的 Python不会重新下载。你的 3.12 是python.exe路径正规的 python.org 安装版uv 能正常用它。创建完后激活方式是标准 venv 的用法Windows PowerShellpowershellmyenv\Scripts\Activate.ps1或者不激活直接用 uv 免激活运行uv run --python 3.12 python -c import sys; print(sys.version)激活后安装用uv pip install而不是pip install。这是最容易踩的坑。为什么不能用pip installuv 创建的 venv默认不装 pip为了精简你的aitest环境里就没有pip。所以激活后直接敲pip install会找不到 pip或误用 conda 的 pip 装到别处去了。正确做法1. 先激活假设虚拟环境是aitestpowershellD:\aitest\Scripts\Activate.ps12. 用 uv 装包自动识别当前激活的环境powershell# 装单个包 uv pip install requests # 装多个包 uv pip install fastapi uvicorn openai # 从 requirements.txt 批量装 uv pip install -r D:\test\requirements.txt # 升级 / 卸载 uv pip install --upgrade 包名 uv pip uninstall 包名激活后uv pip install会通过VIRTUAL_ENV自动判断装进D:\aitest不用再指定路径。3. 不激活也能装直接指定环境powershell复制uv pip install --python D:\aitest\Scripts\python.exe 包名验证装到哪了powershell复制# 激活后查看环境里的包列表 uv pip list # 确认包确实装进了 aitest而不是别处 D:\aitest\Scripts\python.exe -c import requests; print(requests.__version__)补充如果某个工具/脚本强制要pip命令可以先给环境补一个 pipuv pip install pip之后pip install就能用了。但日常用uv pip即可更快。装之前先想清楚这些包是不是真的该进aitest如果是另一个项目专用的建议给它单独建个 venv别把 aitest 越塞越杂。一句话激活后一律用uv pip install 包名就能准确装进 aitest。既有miniconda也有uv(base) (aitest) PS C:\Users\Lun(base)是 miniconda 每次开终端时自动激活造成的。有两种解决办法方法一只解决当前这一次临时先退出 base再激活 aitestpowershellconda deactivate D:\aitest\Scripts\Activate.ps1执行后提示符就只有(aitest) PS ...了。方法二永久关闭 base 自动激活推荐一劳永逸powershell复制conda config --set auto_activate_base false以后每次新开 PowerShell 终端不再自动进入 (base)直接是干净的PS ...。想用哪个环境就手动激活哪个powershell复制D:\aitest\Scripts\Activate.ps1 # 激活 uv 的 aitest conda activate base # 需要时再进 conda base顺带说明关闭自动激活后conda 本身仍然可用conda命令照样能敲只是不再默认占着 base。如果你偶尔又想让 base 默认激活把命令里的false改回true即可。怎么用 aitest 环境运行别的项目假设项目在D:\other脚本叫main.py。有 4 种方式方式 1直接用解释器的绝对路径最简单免激活powershellD:\aitest\Scripts\python.exe D:\other\main.pypip装包也用绝对路径powershellD:\aitest\Scripts\python.exe -m pip install 包名方式 2用 uv 指定环境推荐powershellcd D:\other uv run --python D:\aitest\Scripts\python.exe main.py或先告诉 uv 环境在哪再跑powershell$env:VIRTUAL_ENV D:\aitest cd D:\other uv run main.py方式 3激活后运行和之前演示的一样powershellD:\aitest\Scripts\Activate.ps1 cd D:\other python main.py激活后python、pip就指向 aitest 了跟项目目录在哪无关。方式 4给 aitest 补装缺的包如果项目缺个别包可以临时装进 aitest不污染系统powershelluv pip install --python D:\aitest\Scripts\python.exe 缺失的包名关键提醒不建议把另一个项目的requirements.txt整个灌进 aitest——它会污染这个环境导致和其他依赖冲突。如果另一个项目和 aitest 的依赖栈差异很大正确做法还是给那个项目单独建一个 venv各管各的。如果只是临时跑个小脚本、恰好 aitest 里的包够用那方式 1 / 方式 2随便选一个即可完全不需要让项目待在 D:\aitest 目录里。一句话环境不挑项目位置挑的是包够不够 Python 版本对不对。