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
23
28k
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
Google Opal解体新書
mickey_kubo
2
27
Google Opalで使える生成AIの能力と役割
mickey_kubo
0
7
Google Opalで使える37のライブラリ
mickey_kubo
2
23
Opal 例題解説
mickey_kubo
0
22
エージェントAI フレームワーク 2025 年版
mickey_kubo
0
12
AIを使って最新研究 について調べて発表しよ う!
mickey_kubo
4
29
モダンWeb認証入門
mickey_kubo
1
18
Google Gemini (Gem) の育成方法
mickey_kubo
2
130
最適化ソリューション開発を加速する 数理最適化モデリングツール AMPL 活用セミナー
mickey_kubo
2
23
Other Decks in Education
See All in Education
ARアプリを活用した防災まち歩きデータ作成ハンズオン
nro2daisuke
0
180
大学院進学について(2025年度版)
imash
0
130
沖ハック~のみぞうさんとハッキングチャレンジ☆~
nomizone
1
250
みんなのコード 2024年度活動報告書/ 2025年度活動計画書
codeforeveryone
0
340
GOVERNOR ADDRESS:2025年9月29日合同公式訪問例会:2720 Japan O.K. ロータリーEクラブ、2025年10月6日卓話:藤田 千克由 氏(国際ロータリー第2720地区 2025-2026年度 ガバナー・大分中央ロータリークラブ・大分トキハタクシー(株)顧問)
2720japanoke
0
560
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
2.5k
高校におけるプログラミング教育を考える
naokikato
PRO
0
160
アントレプレナーシップ教育 ~ 自分で自分の幸せを決めるために ~
yoshizaki
0
210
日本の情報系社会人院生のリアル -JAIST 修士編-
yurikomium
1
130
今の私を形作る4つの要素と偶然の出会い(セレンディピティ)
mamohacy
2
110
”育てる”から”育つ”仕組みへ!スクラムによる新入社員教育
arapon
0
160
バケットポリシーの記述を誤りマネコンからS3バケットを操作できなくなりそうになった話
amarelo_n24
1
110
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Rails Girls Zürich Keynote
gr2m
95
14k
BBQ
matthewcrist
89
9.8k
For a Future-Friendly Web
brad_frost
180
9.9k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
RailsConf 2023
tenderlove
30
1.2k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Typedesign – Prime Four
hannesfritz
42
2.8k
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