UV - 管理Python 版本、创建环境、安装第三方库


一、管理Python

查看可用的 Python 版本

uv python list

已安装的会显示具体地址,没安装的会显示 <download available>

% uv --version
uv 0.6.3 (a0b9f22a2 2025-02-24)
(base) xx@xxdeiMac ~ % uv python list
cpython-3.14.0a5+freethreaded-macos-x86_64-none    <download available>
cpython-3.14.0a5-macos-x86_64-none                 <download available>
cpython-3.13.2+freethreaded-macos-x86_64-none      <download available>
cpython-3.13.2-macos-x86_64-none                   /usr/local/opt/python@3.13/bin/python3.13 -> ../Frameworks/Python.framework/Versions/3.13/bin/python3.13
cpython-3.13.2-macos-x86_64-none                   <download available>
cpython-3.12.9-macos-x86_64-none                   <download available>
cpython-3.12.6-macos-x86_64-none                   /usr/local/opt/python@3.12/bin/python3.12 -> ../Frameworks/Python.framework/Versions/3.12/bin/python3.12
cpython-3.11.11-macos-x86_64-none                  <download available>
cpython-3.11.5-macos-x86_64-none                   miniconda3/bin/python3.11
cpython-3.11.5-macos-x86_64-none                   miniconda3/bin/python3 -> python3.11
cpython-3.11.5-macos-x86_64-none                   miniconda3/bin/python -> python3.11
cpython-3.10.16-macos-x86_64-none                  <download available>
cpython-3.9.21-macos-x86_64-none                   <download available>
cpython-3.9.6-macos-x86_64-none                    /Applications/Xcode.app/Contents/Developer/usr/bin/python3 -> ../../Library/Frameworks/Python3.framework/Versions/3.9/bin/python3
cpython-3.8.20-macos-x86_64-none                   <download available>
cpython-3.7.9-macos-x86_64-none                    <download available>
pypy-3.11.11-macos-x86_64-none                     <download available>
pypy-3.10.19-macos-x86_64-none                     <download available>
pypy-3.9.19-macos-x86_64-none                      <download available>
pypy-3.8.16-macos-x86_64-none                      <download available>
pypy-3.7.13-macos-x86_64-none                      <download available>

查找已安装的 Python 版本

uv python find

 % uv python find
/Users/xx/miniconda3/bin/python3

% uv python find 3.13
/usr/local/opt/python@3.13/bin/python3.13

安装指定 Python 版本

uv python install 3.12

macOS 中,安装到了 /.local/share/uv/python 下面


查看已安装的Python

uv python list

你也可以用list 中,选择名字来指定安装:

uv python install cpython-3.7.9-macos-x86_64-none

同时安装多个版本
uv python install 3.11 3.12

安装其他的 Python 实现,如 PyPy:

uv python install pypy@3.10 

自动下载

运行下述代码时,将会自动下载 Python 3.12

uvx python@3.12 -c "print('hello world')"

当电脑上没有 Python,运行下面命令,将自动下载 Python

uv venv

卸载指定 Python 版本

uv python uninstall cpython-3.7.9-macos-x86_64-none 

错误:

uv python uninstall 3.12.6
uv python uninstall 3.12 

Pin 设置当前项目固定实用的 Python 版本

% uv python pin 3.13
Pinned `.python-version` to `3.13`

% python --version
Python 3.11.5

% uv python pin cpython-3.11.5-macos-x86_64-none
Updated `.python-version` from `3.13` -> `cpython-3.11.5-macos-x86_64-none`

二、创建基本项目、管理依赖

创建项目

uv python pin 3.13
uv init 

% tree
.
├── README.md
├── main.py
├── .python-version
├── .gitignore
├── .git 
└── pyproject.toml

1 directory, 3 files

pyproject.toml 内容如下

[project]
name = "01"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = []


添加依赖

uv add flask

pyproject.toml 内容会添加 flask 部分

[project]
name = "01"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
    "flask>=3.1.0",
]


添加指定版本
uv add pandas==2.2

移除依赖

uv remove flask 

查看项目的依赖树

uv tree

% uv tree
Resolved 15 packages in 1ms
01 v0.1.0
├── flask v3.1.0
│   ├── blinker v1.9.0
│   ├── click v8.1.8
│   ├── itsdangerous v2.2.0
│   ├── jinja2 v3.1.5
│   │   └── markupsafe v3.0.2
│   └── werkzeug v3.1.3
│       └── markupsafe v3.0.2
└── pandas v2.2.0
    ├── numpy v1.26.4
    ├── python-dateutil v2.9.0.post0
    │   └── six v1.17.0
    ├── pytz v2025.1
    └── tzdata v2025.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值