Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pythonパッケージ管理 [uv] 完全入門
Search
MIKIO KUBO
May 18, 2025
Education
31
54k
Pythonパッケージ管理 [uv] 完全入門
uvは超高速なPythonパッケージマネージャ 仮想環境作成・パッケージ管理・Pythonバージョン管理を一元化 Rust製で10〜100倍の速度向上
MIKIO KUBO
May 18, 2025
Tweet
Share
More Decks by MIKIO KUBO
See All by MIKIO KUBO
SCML (Supply Chain Modeling Language)
mickey_kubo
0
20
Google Antigravity エージェント・フ ァーストな開発パラダイムへの招待
mickey_kubo
1
86
Google AI Studio 開発者向け完全ガイド プロトタイピ まで ングからReactアプリ 構築・マルチモーダル活用
mickey_kubo
1
36
The Fusion of Mathematical Optimization and AI (MOAI): History and Outlook (Final Version)
mickey_kubo
0
68
The Fusion of Mathematical Optimization and AI (MOAI): History and Outlook (Short Version)
mickey_kubo
1
57
The Fusion of Mathematical Optimization and AI (MOAI): History and Outlook
mickey_kubo
1
95
History and Future of MO+AI
mickey_kubo
1
84
History and Future of MO+AI (Fusion of Mathematical Optimization and Artificial Intelligence)
mickey_kubo
1
44
Next.js 入門解説: Reactとの決定的な違いとApp Routerに基づくモダンWeb開発
mickey_kubo
1
140
Other Decks in Education
See All in Education
The World That Saved Me: A Story of Community and Gratitude
_hashimo2
4
530
0121
cbtlibrary
0
140
Padlet opetuksessa
matleenalaakso
11
15k
Semantic Web and Web 3.0 - Lecture 9 - Web Technologies (1019888BNR)
signer
PRO
2
3.2k
焦りと不安を、技術力に変える方法 - 新卒iOSエンジニアの失敗談と成長のフレームワーク
hypebeans
1
670
✅ レポート採点基準 / How Your Reports Are Assessed
yasslab
PRO
0
290
Introduction - Lecture 1 - Next Generation User Interfaces (4018166FNR)
signer
PRO
2
4.4k
2025年の本当に大事なAI動向まとめ
frievea
1
190
滑空スポーツ講習会2025(実技講習)EMFT学科講習資料/JSA EMFT 2025
jsaseminar
0
280
Introduction - Lecture 1 - Information Visualisation (4019538FNR)
signer
PRO
0
5.3k
【ベテランCTOからのメッセージ】AIとか組織とかキャリアとか気になることはあるけどさ、個人の技術力から目を背けないでやっていきましょうよ
netmarkjp
2
3.8k
0203
cbtlibrary
0
130
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
150
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
140
Making Projects Easy
brettharned
120
6.6k
Music & Morning Musume
bryan
47
7.1k
GitHub's CSS Performance
jonrohan
1032
470k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Side Projects
sachag
455
43k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Color Theory Basics | Prateek | Gurzu
gurzu
0
220
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Transcript
Python パッケージ管理『uv 』完全入門 uvは超高速なPythonパッケージマネージャ 仮想環境作成・パッケージ管理・Pythonバージョン管理を一元化 Rust製で10~100倍の速度向上 1
uv とは? Python開発環境のオールインワンツール 仮想環境・依存関係・Python本体のバージョン管理も可能 pip, venv, poetryなどの機能をまとめてカバー 特徴 圧倒的な高速性 再現性の高い環境構築
シンプルな操作性 2
uv のインストール macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh Windows: powershell
-ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" Homebrew: brew install uv インストール確認: uv version 3
プロジェクト初期化 uv init myproject cd myproject myproject ディレクトリが作成され、 pyproject.toml などの初期ファイルも自
動生成 4
仮想環境の作成 uv venv カレントディレクトリに .venv フォルダが作成される 特定のPythonバージョンで仮想環境を作成: uv venv --python
3.11 必要なPythonバージョンは自動でダウンロードされる 5
仮想環境の有効化(アクティベート) Linux/macOS: source .venv/bin/activate Windows (PowerShell): .\.venv\Scripts\Activate.ps1 有効化すると、プロンプトの先頭に (.venv) が表示され、仮想環境内のPythonが
使われる 6
仮想環境を意識せずコマンド実行 仮想環境を有効化せずとも、 uv run で自動的に仮想環境内でコマンドやスクリ プトを実行できる 7
uv run の使い方(基本) スクリプトやコマンドを仮想環境で実行 uv run python script.py uv run
hello.py uv run pytest tests/ uv run ruff check プロジェクトの仮想環境が自動的に作成・更新され、依存関係も最新化される .venv を直接有効化しなくても、常にプロジェクト環境で安全に実行できる .py ファイルやHTTP(S) URLを指定すると自動的にPythonで実行される 8
uv run の応用 プロジェクト環境でCLI ツールやシェルスクリプトも実行可能 uv run bash scripts/foo.sh uv
run example-cli foo 一時的に追加の依存パッケージを指定して実行 uv run --with httpx==0.26.0 python -c "import httpx; print(httpx.__version__)" --with で指定したパッケージはその実行時のみ一時的に追加される プロジェクトの依存関係に影響を与えず、バージョン指定も可能 9
uv run の便利な特徴 スクリプト内にPEP 723形式で依存関係を記述できる(インラインメタデータ) 依存関係が記載されたスクリプトを uv run で実行すると、自動で必要なパッケ ージを一時環境にインストールしてから実行
HTTP(S) URLで指定したスクリプトも一時的にダウンロードして実行できる 10
パッケージの追加・削除 パッケージ追加: uv add numpy pandas パッケージ削除: uv remove numpy
依存関係は pyproject.toml と uv.lock に自動反映 11
パッケージのインストール・同期・ロック 依存関係の同期(インストール): uv sync 依存関係のロックファイル更新: uv lock 依存関係のツリー表示: uv tree
12
Python バージョン管理 Python本体のインストール: uv python install 3.10 3.11 インストール済みバージョンの確認: uv
python list プロジェクトで使うバージョンの固定: uv python pin 3.11 13
CLI ツールのインストール・実行 CLIツールのインストール(例: ruff): uv tool install ruff インストール済みツールの一覧: uv
tool list 14
uvx コマンドの使い方 uvxはCLIツールやパッケージを一時的な環境で素早く実行できるコマンド 例: cowsay を一時的に実行 uvx cowsay Hello, uv!
cowsayパッケージがなければ自動でダウンロードし、仮想環境を汚さず実行 15
uvx でテストツールを実行 例: pytest を一時的に実行 uvx pytest プロジェクトにpytestがなくても即座にダウンロードして実行 テストやLinter、CLIツールの「お試し」に便利 16
uvx の主なオプション オプション 説明 --from 指定パッケージのコマンドを使用 --with 追加パッケージも同時にインストールして実行 --isolated 完全に新しい一時環境で実行(既存ツール無視)
例: uvx --with pytest pytest test_sample.py 17
pip 互換コマンド コマンド 説明 uv pip install パッケージのインストール uv pip
uninstall パッケージのアンインストール uv pip list インストール済みパッケージ一覧 uv pip freeze バージョン固定用リスト出力 uv pip check 依存関係の整合性チェック 18
依存関係のエクスポート・移行 requirements.txt形式でエクスポート: uv export --format=requirements.txt 既存pip/venv環境からuvに移行する場合も簡単 19
まとめ uvは仮想環境・パッケージ・Pythonバージョン・CLIツール管理を一元化 uv runで仮想環境を意識せず安全・高速にスクリプトやコマンドを実行 uvxで一時的なCLIツール実行も可能 圧倒的なスピードとシンプルな操作性で初心者にもおすすめ 20
参考リンク 公式: https://docs.astral.sh/uv/ コマンド一覧: Zenn記事「uvだけでPythonプロジェクトを管理する」 実践例: Qiita「【Python】uvで始めるPythonプロジェクト」 使い方早見表: zanote.net「【Python】uvの使い方を忘れたときに見るための早 見表」
21
ご清聴ありがとうございました! ぜひuvとuvxを使ってみましょう! 質問があればどうぞ! 22