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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
MIKIO KUBO
May 18, 2025
Education
60k
33
Share
Pythonパッケージ管理 [uv] 完全入門
uvは超高速なPythonパッケージマネージャ 仮想環境作成・パッケージ管理・Pythonバージョン管理を一元化 Rust製で10〜100倍の速度向上
MIKIO KUBO
May 18, 2025
More Decks by MIKIO KUBO
See All by MIKIO KUBO
AI+SCM
mickey_kubo
0
44
エージェンティック・サプライチェーン」の概念と、製造業におけるその革新的な役割について解説
mickey_kubo
0
54
MOAI Solutionの紹介 -電力最適化を中心として-
mickey_kubo
0
68
Agent SkillsによるAGI4OPT(最適化のためのAGI)
mickey_kubo
0
93
AGI4OPT:自然言語から数理最適化を導くエ ージェントスキル Translating Human Intent into Mathematical Optimization
mickey_kubo
0
100
AIで最適化を解けるか?
mickey_kubo
0
77
AI進化史:LLMからAIエージェントへ
mickey_kubo
0
160
最適化の芸術:生産と物流を統合する
mickey_kubo
0
46
次世代最適化プラットフォーム MOAI Patform
mickey_kubo
2
41
Other Decks in Education
See All in Education
Fulbright DAI 2025 學人經驗分享
joannie
0
830
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
signer
PRO
1
3k
Gesture-based Interaction - Lecture 6 - Next Generation User Interfaces (4018166FNR)
signer
PRO
1
2.2k
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
signer
PRO
1
2.6k
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
signer
PRO
1
3k
リモートリポジトリの操作 / 02-c-remote
kaityo256
PRO
0
160
Railsチュートリアル × 反転学習の事例紹介
yasslab
PRO
3
180k
共感から、つくる: 変わり続ける自分と、誰かのための創造
micknerd
1
330
モブ社員がモブエンジニアを名乗って得られたこと_20260413
masakiokuda
4
470
ブランチ操作 / 02-a-branch
kaityo256
PRO
0
290
Tangible, Embedded and Embodied Interaction - Lecture 7 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
2.2k
Integrating prosody into reading comprehension: A high school classroom practice
otamayuzak
0
110
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
BBQ
matthewcrist
89
10k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Six Lessons from altMBA
skipperchong
29
4.2k
[SF Ruby Conf 2025] Rails X
palkan
2
1k
Un-Boring Meetings
codingconduct
0
280
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
290
A Tale of Four Properties
chriscoyier
163
24k
Crafting Experiences
bethany
1
140
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
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