1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python UV Cheatsheet

1
Last updated at Posted at 2025-12-21

UVのチートシートです。
UVは速くて素晴らしいです。

インストール

再起動が面倒だったので、source $HOME/.local/bin/envしておきました。

# On macOS and Linux.
$ curl -LsSf https://astral.sh/uv/install.sh | sh

downloading uv 0.9.7 x86_64-unknown-linux-gnu
no checksums to verify
installing to /home/fukuhara/.local/bin
  uv
  uvx
everything's installed!

To add $HOME/.local/bin to your PATH, either restart your shell or run:

    source $HOME/.local/bin/env (sh, bash, zsh)
    source $HOME/.local/bin/env.fish (fish)
fukuhara@fukuhara-yohei:~$  source $HOME/.local/bin/env

便利かもと思いshell 補完スクリプトを入れる

# bash
echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc

# zsh
echo 'eval "$(uv generate-shell-completion zsh)"' >> ~/.zshrc

# fish
echo 'uv generate-shell-completion fish | source' >> ~/.config/fish/config.fish

uv アップデート

バージョン確認とアップデート

uv self version
uv self update
uv self version

Python インストール

3.12をインストール。すごく速いことに驚きました(体感で5秒程度)。

uv python install 3.12

Python version 確認

python --versionを直接実行せずにuvを介する。Activateされていれば直接python --versionでもOK。

$ uv run python --version
Python 3.12.12

Python 一覧出力

一覧出力で、利用可能なものとインストールされているPythonの一覧出力。

$ uv python list
cpython-3.15.0a1-linux-x86_64-gnu                 <download available>
cpython-3.15.0a1+freethreaded-linux-x86_64-gnu    <download available>
cpython-3.14.0-linux-x86_64-gnu                   <download available>
cpython-3.14.0+freethreaded-linux-x86_64-gnu      <download available>
cpython-3.13.9-linux-x86_64-gnu                   <download available>
cpython-3.13.9+freethreaded-linux-x86_64-gnu      <download available>
cpython-3.12.12-linux-x86_64-gnu                  .local/bin/python3.12 -> .local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/bin/python3.12
cpython-3.12.12-linux-x86_64-gnu                  .local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/bin/python3.12
cpython-3.12.3-linux-x86_64-gnu                   /usr/bin/python3.12
cpython-3.12.3-linux-x86_64-gnu                   /usr/bin/python3 -> python3.12
cpython-3.11.14-linux-x86_64-gnu                  <download available>
後略

インストール済みのみを一覧化したい場合はオプション--only-installed

$ uv python list --only-installed
cpython-3.14.2-linux-x86_64-gnu     /home/fukuhara/.local/bin/python3.14 -> /home/fukuhara/.local/share/uv/python/cpython-3.14.2-linux-x86_64-gnu/bin/python3.14
cpython-3.14.2-linux-x86_64-gnu     /home/fukuhara/.local/share/uv/python/cpython-3.14.2-linux-x86_64-gnu/bin/python3.14
cpython-3.12.12-linux-x86_64-gnu    /home/fukuhara/.local/bin/python3.12 -> /home/fukuhara/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/bin/python3.12
cpython-3.12.12-linux-x86_64-gnu    /home/fukuhara/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/bin/python3.12
cpython-3.12.9-linux-x86_64-gnu     /home/fukuhara/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/bin/python3.12
cpython-3.12.3-linux-x86_64-gnu     /usr/bin/python3.12
cpython-3.12.3-linux-x86_64-gnu     /usr/bin/python3 -> python3.12

Project 作成

-pオプション使って Python バージョン指定ができます。

uv init hello-world -p 3.12

Current Directry 移動して中身を見ました

$ ls -al
drwxr-xr-x 3 fukuhara fukuhara 4096 Nov  5 09:59 .
drwxr-xr-x 3 fukuhara fukuhara 4096 Nov  5 09:59 ..
drwxr-xr-x 7 fukuhara fukuhara 4096 Nov  5 09:59 .git
-rw-r--r-- 1 fukuhara fukuhara  109 Nov  5 09:59 .gitignore
-rw-r--r-- 1 fukuhara fukuhara    5 Nov  5 09:59 .python-version
-rw-r--r-- 1 fukuhara fukuhara    0 Nov  5 09:59 README.md
-rw-r--r-- 1 fukuhara fukuhara   89 Nov  5 09:59 main.py
-rw-r--r-- 1 fukuhara fukuhara  157 Nov  5 09:59 pyproject.toml

作成されたpyproject.toml

pyproject.toml
[project]
name = "hello-world"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"

Python version 固定(pin)

PythonのVersion固定。

uv python pin 3.12

パッケージ追加

uv add

とても速くてびっくり。良く使うオプションは、未リリースをインストールするときの--prerelease allow

uv add numpy

開発環境だけに使うのであれば--devを付加。

uv add --dev "pytest"

これにより、pyproject.tomlに以下のエントリが追加される。

pyproject.toml抜粋
[dependency-groups]
dev = [
    "jupyterlab>=4.5.1",
]

uv pip install

requirements.txt を使う場合。
pyproject.tomluv.lockは更新されない点に注意。

uv pip install -r requirements.txt

パッケージ削除

uv remove <package>

プロジェクト環境の更新

uv sync

Python Script 実行

uv run python xxxx.py

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?