🦒
Powershellでuvコマンドエラー
はじめに
Windows powershell上でPythonの環境構築を行った所、uvインストール後のコマンド実行時にエラーが発生した。対処内容をログとして残しておく。
環境
・Windows11
・Powershell
手順
1.Powershellにログイン
2.uvインストール
公式ドキュメント(https://docs.astral.sh/uv/getting-started/installation/) に従いインストール
実行結果
PS C:\Users\ユーザ名> powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex" Downloading uv 0.6.14 (x86_64-pc-windows-msvc)
Installing to C:\Users\ユーザ名\.local\bin
uv.exe
uvx.exe
everything's installed!
To add C:\Users\ユーザ名\.local\bin to your PATH, either restart your shell or run:
set Path=C:\Users\ユーザ名\.local\bin;%Path% (cmd)
$env:Path = "C:\Users\ユーザ名\.local\bin;$env:Path" (powershell)
エラーなし。成功?
インストール確認
PS C:\Users\ユーザー名> uv --version
uv : 用語 'uv' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプ
ログラムの名前として認識されません。名前が正しく記述されていることを確認し、パス
が含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ uv --version
+ ~~
+ CategoryInfo : ObjectNotFound: (uv:String) [], CommandNotFoundEx
ception
+ FullyQualifiedErrorId : CommandNotFoundException
エラー発生。調べてみると対象のパスを環境変数に追加すれば良いと出てくる。
環境変数の確認
ひとまず現状の環境変数を確認してみる。
PS C:\Users\ユーザ名> $ENV:Path.Split(";")
C:\Program Files\Common Files\Oracle\Java\javapath
C:\Program Files (x86)\Common Files\Oracle\Java\java8path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
…
C:\Users\ユーザ名\AppData\Local\Programs\Python\Python312\
C:\Users\ユーザ名\AppData\Local\Microsoft\WindowsApps
C:\Program Files\heroku\bin
uvに関連するものは無い? ただ何のパスを追加すれば良いか分からない。
インストール時のログを見返してみると「C:\Users\ユーザ名.local\bin」配下にuvがインストールされているように見える。環境変数に追加してみる。
PS C:\Users\ユーザ名> $ENV:Path+=";C:\Users\ユーザ名\.local\bin"
PS C:\Users\ユーザ名> uv --version
uv 0.6.14 (a4cec56dc 2025-04-09)
エラー解消してuvコマンドが使えるようになった。上記は一時的設定で再起動すると消えてしまうため、永続的設定もしておく。
PS C:\Users\ユーザ名> $new_dir = "C:\Users\ユーザ名\.local\bin"
PS C:\Users\ユーザ名> $new_path = [Environment]::GetEnvironmentVariable("Path", "User")
PS C:\Users\ユーザ名> $new_path += ";$new_dir"
PS C:\Users\ユーザ名> [Environment]::SetEnvironmentVariable("Path", $new_path, "User")
PS C:\Users\ユーザ名>
Powershell再起動
PS C:\Users\ユーザ名> uv --version
uv 0.6.14 (a4cec56dc 2025-04-09)
再起動後もuvコマンドが問題無く実行可能。永続設定の確認も完了。
あとがき
PATHの設定は見た事があったが、設定値として何を指定すれば良いかがすぐには分からなかった。
よくよく見たら環境変数の設定をしなくても、shellを再起動するだけでOKだった?
To add C:\Users\ユーザ名\.local\bin to your PATH, either restart your shell or run:
set Path=C:\Users\ユーザ名\.local\bin;%Path% (cmd)
$env:Path = "C:\Users\ユーザ名\.local\bin;$env:Path" (powershell)
参照
Windows環境変数の設定方法
Discussion