1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【venv利用者用】uvの使い方ガイド

Posted at

巷で便利といわれているuvの使い方をまとめます。
いまさら普通にまとめても仕方ないので、venv利用者目線でvenvとuvの機能の対応に注目してみます。

ちなみに、uvにはvenv機能を搭載しているらしく、

  • venv
  • uv
  • uvのvenv

の3種類の使い方をまとめます。

【参考記事】
https://zenn.dev/turing_motors/articles/594fbef42a36ee

【環境】

  • WSL2 + Docker
  • Ubuntu 24.04

uvのインストール

uv
# ダウンロードとインストール
curl -LsSf https://astral.sh/uv/install.sh | sh
# uvの有効化
. $HOME/.local/bin/env

プロジェクトの作成

venv
# 「path/to/project」というディレクトリにプロジェクトを作成する場合とします
mkdir path/to/project
cd path/to/project
python3 -m venv .venv
uv
# 「path/to/project」というディレクトリにプロジェクトを作成し、Python3.10を使う場合とします
# pyenv等を使用せずに異なるPythonバージョンのインストールや切り替えができます
uv init -p 3.10 test_project
cd test_project
uv venv
# 「path/to/project」というディレクトリにプロジェクトを作成し、Python3.10を使う場合とします
# 上と同様pyenv等を使用せずに異なるPythonバージョンのインストールや切り替えができます
mkdir path/to/project
cd path/to/project
uv venv -p 3.10 .venv

仮想環境の有効化

venv
cd path/to/project
source .venv/bin/activate
uv
cd path/to/project
uv sync
. .venv/bin/activate
uv venv
cd path/to/project
source .venv/bin/activate

パッケージの追加

venv
pip install numpy
pip install numpy==1.26.4 # バージョン指定のある場合
uv
uv add numpy
uv add "numpy==1.26.4" # バージョン指定のある場合
uv venv
uv pip install numpy
uv pip install numpy==1.26.4 # バージョン指定のある場合

パッケージの削除

venv
pip uninstall numpy
uv
uv remove numpy
uv venv
uv pip uninstall numpy

コードの実行

venv
python main.py
uv
uv run main.py
uv venv
uv run main.py

仮想環境の無効化

venv
deactivate
uv
deactivate
uv venv
deactivate

まとめ

ざっといじった限りですが、uvやuvのvenv機能の利点としてはPythonバージョンの切り替えが楽な点ぐらいでしょうか。(たぶん自分が使いこなせていないだけでしょうが)
便利なところはたくさんあると思うので、これからPythonを始める人はuv使ってもよいでしょう。
一方でvenvやpyenvに慣れている人は大きく文法が変わるので、必要に駆られない限り移行の必要はなさそうですかね。

1
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?