文章目录
一、管理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