以前の記事で、Windows11にuvを導入してPython環境を構築する手順を紹介しました。


私はWindowsでCodexを使うためにWSL(Ubuntu)を使っています。
Codexを使って本格的にPython開発を行うため、WSL環境にもuvを導入しました。
この記事では、WSL(Ubuntu)にuvをインストールする手順と、uvでよく使う基本的な操作を紹介します。
本記事は2025年11月に実施した内容です。

WindowsでCodexを使用する場合、WSLの導入が必要です。
WSLの導入、Codexの設定は次の記事で紹介していますので、WindowsでCodexを使いたい方は参考にしてください。

この記事で分かること

  • WSL(Ubuntu)にuvをインストールする方法
  • uvでPythonをインストールしてバージョンを固定する手順
  • 仮想環境を作成して使う方法
  • uv pipによるパッケージ管理の基本

uvをWSL(Ubuntu)にインストールする

uvは、Pythonがインストールされていない状態でも導入できます。
インストール手順は次の通りです。

STEP1
インストール準備

uvの導入にはcurlコマンドまたはwgetコマンドが必要です。
この手順では、curlコマンドを使用します。
curlコマンドはUbuntuインストールに一緒に入っているため、通常はインストールする必要はありません。
下記のコマンドでインストールされていることを確認します。

which curl
# インストールされている場合、下記のように表示されます
/usr/bin/curl

未インストールの場合は、次のコマンドでcurlコマンドを入れます。

sudo apt install curl -y
STEP2
uvのインストール

次に、uvを公式スクリプトでインストールします。

curl -LsSf https://astral.sh/uv/install.sh | sh

実行すると次のように表示され、uvがユーザーのローカルディレクトリにインストールされます。
(個人PCのため、ホームディレクトリはxxxxに置き換えています。)

downloading uv 0.9.7 x86_64-unknown-linux-gnu
no checksums to verify
installing to /home/xxxx/.local/bin
  uv
  uvx
everything's installed!

To add $HOME/.local/bin to your PATH, either restart your shell or run:

    source $HOME/.local/bin/env (sh, bash, zsh)
    source $HOME/.local/bin/env.fish (fish)
STEP3
uvコマンドの有効化

uvコマンドをすぐに有効にする場合、次のコマンドを実行します。
この設定はuvインストール時にユーザーの.bashrcに書き込まれるので、WSLを次回起動したときは設定しなくても大丈夫です。

source $HOME/.local/bin/env
STEP4
動作確認

インストールが完了したことは次のコマンドで確認します。

uv --version
# 次のようにバージョンが表示されれば、インストールは成功です
uv 0.9.7

uvでPythonのインストール、バージョン確認

Pythonのインストール

uvを使ってPythonをインストールする手順は次の通りです。
手順はWindowsと一緒です。

私はいろいろなアプリやツールを開発するため、uvを使って複数のPythonをインストールします。

STEP1
利用可能なPythonバージョンの確認

次のコマンドを実行して利用可能なPythonバージョンを確認します。

uv python list

実行すると次のように表示されます。
(実行結果は長いため、一部のみ表示しています。)

cpython-3.15.0a1-linux-x86_64-gnu                 <download available>
cpython-3.15.0a1+freethreaded-linux-x86_64-gnu    <download available>
cpython-3.14.0-linux-x86_64-gnu                   <download available>
cpython-3.14.0+freethreaded-linux-x86_64-gnu      <download available>
cpython-3.13.9-linux-x86_64-gnu                   <download available>
cpython-3.13.9+freethreaded-linux-x86_64-gnu      <download available>
cpython-3.12.12-linux-x86_64-gnu                  <download available>
cpython-3.12.3-linux-x86_64-gnu                   /usr/bin/python3.12
cpython-3.12.3-linux-x86_64-gnu                   /usr/bin/python3 -> python3.12
STEP2
Pythonのインストール

目的のバージョンをインストールします。
ここでは、3.14をインストールしています。

uv python install 3.14

実行すると次のように表示されてPythonがインストールされます。
私の環境では数秒でインストールされました。

Installed Python 3.14.0 in 2.16s
 + cpython-3.14.0-linux-x86_64-gnu (python3.14)
STEP3
インストールの確認

Pythonがインストールされたことは次のコマンドで確認します。

uv python list

3.14がインストールされたことが確認できます。
(実行結果は長いため、一部のみ表示しています。)

cpython-3.15.0a1-linux-x86_64-gnu                 <download available>
cpython-3.15.0a1+freethreaded-linux-x86_64-gnu    <download available>
cpython-3.14.0-linux-x86_64-gnu                   .local/bin/python3.14 -> .local/share/uv/python/cpython-3.14.0-linux-x86_64-gnu/bin/python3.14
cpython-3.14.0-linux-x86_64-gnu                   .local/share/uv/python/cpython-3.14.0-linux-x86_64-gnu/bin/python3.14
cpython-3.14.0+freethreaded-linux-x86_64-gnu      <download available>

他のバージョンをインストールする場合、STEP2でバージョンを変更すればインストールできます。

Pythonをアンインストールする

uvでインストールしたPythonをアンインストールする場合、次のコマンドで実行します。

uv python uninstall 3.14

実行すると次のように表示されてアンインストールができます。

Searching for Python versions matching: Python 3.14
Uninstalled Python 3.14.0 in 70ms
 - cpython-3.14.0-linux-x86_64-gnu (python3.14)

Pythonバージョンの確認・固定

uvで複数バージョンのPythonをインストールしている場合、現在使用されているバージョンを確認する場合、次のコマンドを実行します。

uv python find

実行すると次のように表示され、Pythonのバージョンが確認できます。
(個人PCのため、ホームディレクトリはxxxxに置き換えています。)

/home/xxxx/.local/share/uv/python/cpython-3.14.0-linux-x86_64-gnu/bin/python3.14

Pythonのバージョンを固定するには、次のコマンドを使います。

uv python pin 3.12

実行すると次のように表示されてPythonのバージョンが固定できます。

Pinned `.python-version` to `3.12

uvで仮想環境を作る・使う

uvの大きな特徴の一つは、仮想環境を瞬時に作成できることです。
開発用フォルダごとに環境を分けることで、ライブラリの衝突を防ぐことができます。

仮想環境の作成

仮想環境を作成したディレクトリで次のコマンドを実行します。

uv venv

実行すると次のように表示され、仮想環境のディレクトリ「.venv」が作成されます。

Using CPython 3.14.0
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate

仮想環境を作成する際にPythonバージョン、仮想環境名を指定する場合、次のコマンドを実行します。

uv venv sample_env --python 3.13

実行すると次のように表示され、指定した内容で仮想環境が作成されます。

Using CPython 3.13.9
Creating virtual environment at: sample_env
Activate with: source sample_env/bin/activate

仮想環境の有効化・解除

仮想環境を有効にするには、次のコマンドを実行します。

source .venv/bin/activate

有効化すると、ターミナルの先頭に次のように仮想環境名が表示されます。
この状態では、その環境専用のPythonやライブラリが使用されます。

(sample) user@mypc:~/project/sample$

仮想環境を有効した場合、次のようにpythonコマンドを使用することができます。

python --version
Python 3.14.0

仮想環境を終了するには、次のコマンドを実行します。

deactivate

仮想環境を有効しないでPythonを使用する

仮想環境を有効しない状態でPythonを使用する場合、次のように実行します。

# pythonを指定して実行
uv run python sample.py
# python未指定でも実行可能
uv run sample.py

uv pipでパッケージを管理する

uvには、pipと互換性のある独自のパッケージ管理機能があります。
高速で、既存のpipコマンドと同じ感覚で使えるのが魅力です。

パッケージのインストール

仮想環境を有効化した状態で、次のコマンドを実行します。

uv pip install requests

次のように表示されてrequestsライブラリは一瞬でインストールされます。

Resolved 5 packages in 182ms
Prepared 5 packages in 58ms
Installed 5 packages in 6ms
 + certifi==2025.10.5
 + charset-normalizer==3.4.4
 + idna==3.11
 + requests==2.32.5
 + urllib3==2.5.0

複数のライブラリを同時にインストールする場合は、スペースで区切って指定します。

uv pip install flask pandas numpy

パッケージの確認と削除

インストール済みのライブラリを確認するには次を実行します。

uv pip list

requestsライブラリをインストールした場合、次のように表示されます。

Package            Version
------------------ ---------
certifi            2025.10.5
charset-normalizer 3.4.4
idna               3.11
requests           2.32.5
urllib3            2.5.0

不要になったライブラリを削除する場合は、次のように入力します。

uv pip uninstall requests

依存関係を固定する

ライブラリの依存関係をファイルとして出力したい場合は、次のコマンドを実行します。

uv pip freeze > requirements.txt

このファイルを共有すれば、別の環境でも同じ構成を再現できます。

まとめ

Codexを使ってPython開発を進める上で、uvは非常に便利なツールです。
uvだけでPythonのインストールから仮想環境の作成、パッケージ管理まで行うことができるのは魅力です。
pyenv、pip、venvを組み合わせて使うのは手間、仮想環境の作成、ライブラリのインストールにかかる時間を短縮したいと思っている方はこの記事を参考にuvを導入してみてください。