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
21
19k
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
最適化向けLLMベンチマークの潮流
mickey_kubo
2
240
Agentic AI による新時代の IBP (Intelligent Business Planning) (配布用)
mickey_kubo
0
53
Agentic AI による新時代の IBP (Intelligent Business Planning) 改訂版
mickey_kubo
2
22
Agentic AI による新時代の IBP (Intelligent Business Planning)
mickey_kubo
1
130
API、HTTP、Webhookの初学者向け完全ガイド
mickey_kubo
0
19
Connecting Theory and Practice V
mickey_kubo
0
13
データベースの世界 SQL vs NoSQL
mickey_kubo
0
110
PyMongo入門
mickey_kubo
0
24
Pythonで学ぶSQL入門
mickey_kubo
0
78
Other Decks in Education
See All in Education
技術勉強会 〜 OAuth & OIDC 入門編 / 20250528 OAuth and OIDC
oidfj
5
1.6k
日本の教育の未来 を考える テクノロジーは教育をどのように変えるのか
kzkmaeda
1
230
SARA Annual Report 2024-25
sara2023
1
200
【品女100周年企画】Pitch Deck
shinagawajoshigakuin_100th
0
4.5k
万博マニアックマップを支えるオープンデータとその裏側
barsaka2
0
510
20250625_なんでもCopilot 一年の振り返り
ponponmikankan
0
310
『会社を知ってもらう』から『安心して活躍してもらう』までの プロセスとフロー
sasakendayo
0
250
Data Management and Analytics Specialisation
signer
PRO
0
1.4k
ANS-C01_2回不合格から合格までの道程
amarelo_n24
1
280
Human-AI Interaction - Lecture 11 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
480
American Airlines® USA Contact Numbers: The Ultimate 2025 Guide
lievliev
0
240
シリコンバレーでスタートアップを共同創業したファウンディングエンジニアとしての学び
tomoima525
1
380
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Raft: Consensus for Rubyists
vanstee
140
7.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Done Done
chrislema
185
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.5k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Why Our Code Smells
bkeepers
PRO
337
57k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
Side Projects
sachag
455
43k
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