Skip to content

Instantly share code, notes, and snippets.

@hdknr
Last active May 15, 2025 05:36
Show Gist options
  • Select an option

  • Save hdknr/17269f63a6f363fbd18dd95de6522a73 to your computer and use it in GitHub Desktop.

Select an option

Save hdknr/17269f63a6f363fbd18dd95de6522a73 to your computer and use it in GitHub Desktop.
uv

uv

インストール

% curl -LsSf https://astral.sh/uv/install.sh | sh
downloading uv 0.5.14 aarch64-apple-darwin
no checksums to verify
installing to /Users/hdknr/.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)
% source .local/bin/env
% which uv
/Users/hdknr/.local/bin/uv
% uv --version
uv 0.5.14 (9f1ba2b96 2025-01-02)

uvx (uv tool run)

uvではdevelop環境で利用するtoolをuv tool(uvx)というコマンド別管理することが可能

開発パッケージ:

ケース コマンド
開発時の環境に制約をかけたい uv add --dev
ローカルにパッケージを持っておきたい uv tool install
特に制約のない uvx

補完

uv generate-shell-completion コマンドは、Pythonパッケージ管理ツール uv において、ユーザーがシェル(コマンドラインインターフェース)で uv コマンドをより便利に使えるように、コマンドの自動補完機能を提供するスクリプトを生成するものです。

具体的には、以下の点について説明します。

  • 自動補完機能とは:
    • シェルでコマンドやオプションを入力する際に、Tabキーを押すことで、入力候補を自動的に表示する機能です。これにより、コマンドの入力を効率化し、スペルミスなどを防ぐことができます。
  • uv generate-shell-completion の役割:
    • uv コマンドに対する自動補完スクリプトを生成します。
    • 生成されたスクリプトをシェルの設定ファイルに適切に設定することで、uv コマンドの自動補完が有効になります。
  • 使用方法:
    • uv generate-shell-completion <shell_name> のように、対象のシェル名を指定して実行します。
    • 例:uv generate-shell-completion bash (bashの場合)
    • 生成されたスクリプトをシェルの設定ファイル(例:~/.bashrc~/.zshrc など)に追記し、設定ファイルを再読み込みすることで、自動補完が有効になります。

このコマンドを使用することで、uv コマンドをより快適に使用できるようになります。

システムにインストール

DockerなどでシステムPython環境にインストールしたい場合:

RUN uv sync --python-preference only-system
RUN uv pip install -e ../django-apicore  --system

環境変数の指定でもいける:

ENV UV_PROJECT_ENVIRONMENT="/usr/local/" 
``

## 記事

- [【Python】uvで始めるPythonプロジェクト](https://qiita.com/kissy24/items/0c091bb5f12d697131ae)
- [uv (pythonパッケージマネージャー)の使い方 詳細版](https://qiita.com/futakuchi0117/items/c913c64823724f3f9851)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment