9  uv commandチートシート

Author

Ryo Nakagami

Published

2025-11-25

Modified

2025-11-25

仮想環境周り

仮想環境の立ち上げ

poetry shell の操作感に近づけるため,aliasとして uv-shell を以下のように定義

alias uv-shell='source $(git rev-parse --show-toplevel)/.venv/bin/activate'

カレントディレクトリがどの場所であっても,同じ Git レポジトリ内にいる限り,確実に <project-root>/.venv/bin/activate を走らせることができます.

仮想環境の終了

仮想環境が立ち上がってる状況にて,deactivate を入力すると仮想環境を終了する.仮想環境が立てがっていないときは deactivate: command not found となるので exit コマンドより挙動的に安全.

プロンプトに仮想環境状態を表示

posh-git-shと組み合わせて仮想環境状態をプロンプトに表示させます. まず,ローカルにシェルスクリプトを落とします.

curl https://raw.githubusercontent.com/lyze/posh-git-sh/master/git-prompt.sh > ~/git-prompt.sh

その後,zshrc などにて,仮想環境状態の取得及び表示のスクリプトを以下のように設定します.

# Python仮想環境の取得
function virtualenv_info { 
    [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
}

# prompt表示設定
autoload -Uz add-zsh-hook 
source ~/git-prompt.sh
setopt PROMPT_SUBST

prompt_setup() {
    prompt_color1=${1:-'cyan'}
    prompt_color2=${2:-'cyan'}

    base_prompt="%F{$prompt_color1}%n@%m%f %F{$prompt_color2}%B%~%b%f "
    git_prompt='$(__posh_git_echo)'
    post_prompt=$'\n'"$(virtualenv_info)%# "

    PROMPT=$base_prompt$git_prompt$post_prompt
}

add-zsh-hook precmd prompt_setup

すると仮想環境が立ち上がっているときのプロンプトが以下のようになります

ryo@ryo-Desktop ~/project [main ≡ +7 ~6 -3 !]
(.venv) %