0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

uvをはじめて使うためのコマンド一覧

0
Last updated at Posted at 2025-12-22

はじめに

この記事はC3 Advent Calender 2025シリーズ2の23日目の記事です。

今回ははじめてuvを使ううえで、
よく使いそうなコマンドを紹介します。

Pythonで他のツールを使って、 バージョン管理パッケージ管理 をしたことがある方は、
より詳しく書かれているため、次の記事を参照することをおすすめします。

動作環境

  • WSL Ubuntu 22.04.5
  • uv 0.9.8

WSLを利用している方は

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

でuvのインストールが可能です。

他のuvのインストール方法に関しては、先ほどの記事やドキュメントに記載されています。

流れで使えるコマンド一覧

1. プロジェクト作成

プロジェクトを作成するコマンド

uv init myproject
cd myproject

作成した時点のディレクトリ構成

myproject/ 
├── README.md
├── main.py
└── pyproject.toml

2. uv自体のバージョン確認

uv自体のバージョンを確認できるコマンド

uv self version

出力例

uv 0.9.8

3. uvが認識しているPythonのバージョン一覧を確認するコマンド

uvが認識している(利用・取得可能な)Pythonのバージョン一覧
を確認するためのコマンド

uv python list

表示内容は環境によって変わります。

表示内容の例

cpython-3.11.11-linux-x86_64-gnu    /home/<username>/.local/share/uv/python/cpython-3.11.11-linux-x86_64-gnu/bin/python3.11
cpython-3.11.9-linux-x86_64-gnu     /home/<username>/.pyenv/shims/python3.11
cpython-3.11.9-linux-x86_64-gnu     /home/<username>/.pyenv/shims/python3
cpython-3.11.9-linux-x86_64-gnu     /home/<username>/.pyenv/shims/python
cpython-3.10.19-linux-x86_64-gnu    <download available>
cpython-3.10.12-linux-x86_64-gnu    /usr/bin/python3.10
cpython-3.10.12-linux-x86_64-gnu    /usr/bin/python3 -> python3.10

4. プロジェクトで使用しているPythonのバージョン確認

ls -a

を使い、隠しファイルを表示し、

.  ..  .git  .gitignore  .python-version  README.md  main.py  pyproject.toml

そのなかにある.python-versionというファイルを開くと、
使用しているPythonのバージョンが記載されています。

5. パッケージの追加・削除

パッケージの追加と削除の方法です。
uv addで追加、uv removeで削除が可能です。

uv add パッケージ名
uv remove パッケージ名

例:requests

uv add requests
uv remove requests

パッケージを追加すると自動で .venv が作成されて、
依存関係は uv.lock に記録されます。

uv add パッケージ名uv remove パッケージ名のみを使う方法を個人的に推奨します。

新規プロジェクトでuvを使う場合は、
uv pipコマンドやuv run pipコマンドを使うと依存管理が分散してしまうため、
uv add / uv remove に統一するのがおすすめです。

なぜpip関連のコマンドがあるかというと、
requirements.txtでもともと使っていたものを使えるようにするためだと、
以下の記事から解釈しています。

6. uvで追加したパッケージの依存関係確認

uv addで追加したパッケージについて、
依存関係がどのようになっているかを見ることが出来るコマンド

uv tree

先ほどのrequestsというパッケージを追加した状態で、
パッケージの依存関係を確認した結果が以下です。

Resolved 6 packages in 0.90ms
myproject v0.1.0
└── requests v2.32.5
    ├── certifi v2025.11.12
    ├── charset-normalizer v3.4.4
    ├── idna v3.11
    └── urllib3 v2.5.0

7. pythonファイルの実行

uv initを使用したときに生成されたmain.pyを、uvの環境を使って実行します

uv run python main.py

main.pyを編集していない、
初期状態での出力例が以下です。

Hello from myproject!

npm との比較

npm を使用したことのある身として、uv との違いを簡単に比較しています。

項目 npm uv
通常依存 npm install axios uv add requests
開発依存 npm install -D eslint uv add --dev ruff
依存定義 package.json pyproject.toml
ロックファイル package-lock.json uv.lock
エイリアス管理 "scripts" でコマンド定義可能 現状プロジェクト用エイリアス機能はない(執筆時点)

devオプション参考記事

おわりに

これまで使っていたツールとの違いについて、

  • Pythonで使っていたpipと何が変わったか
  • JSの開発で使っていたnpmとどこが違うのか

をこの記事を書くなかで理解を進められました。

明日の記事は、ねぎまとさんの「疑似乱数とは~乱数が表現する理不尽さ~」です。

これからのみなさんの開発に役立ててくださると幸いです。
読んでいただきありがとうございました!

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?