メインコンテンツへスキップ
見出し画像

uv の使い方

    「uv」の使い方をまとめました。

    1. uv

    「uv」は、高速なPythonパッケージ管理ツールです。 従来のpipに代わるツールとして、高速性と効率性を重視して設計されています。

    特徴は、次のとおりです。

    ・pip、poetry、pyenvなどを置き換える。
    ・pipよりも10~100倍高速。
    ・任意のバージョンのPythonのインストール・管理。
    ・Pythonアプリケーションの実行・インストール。
    ・インライン依存関係メタデータをサポートしたスクリプト実行。
    ・ユニバーサルロックファイルで包括的なプロジェクト管理。
    ・pip互換インターフェース。
    ・Cargo-styleのワークスペース。
    ・依存関係の重複排除のためのグローバルキャッシュ。
    ・Rust・Pythonなしにcurlまたはpipを介してインストール可能。
    ・macOS、Linux、Windowsをサポート。

    画像

    2. インストール

    インストール手順は、次のとおりです。

    2-1. macOS ・ Linux

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

    macOSは、brewでもインストールできます。

    brew install uv

    2-2. Windows

    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

    3. uv の使い方

    「uv」の使い方は、次のとおりです。

    3-1. プロジェクトの作成とコードの実行

    (1) プロジェクトの作成。
    今回はプロジェクト名「my-project」、Ptyhonのバージョン「3.10」で作成しました。

    uv init -p 3.10 my-project
    cd my-project

    プロジェクトのフォルダ構成は、次のとおりです。

    ・my-project
        ・hello.py
        ・pyproject.toml
        ・README.md

    (2) コードの編集。

    ・hello.py

    print("Hello, World!")

    (3) コードの実行。

    uv run hello.py
    Hello, World!

    3-2. パッケージの追加と利用

    (1) パッケージの追加。
    今回は「request」パッケージを追加しました。

    uv add requests
    Resolved 6 packages in 128ms
    Prepared 4 packages in 179ms
    Installed 5 packages in 4ms
     + certifi==2024.12.14
     + charset-normalizer==3.4.1
     + idna==3.10
     + requests==2.32.3
     + urllib3==2.3.0

    (2) パッケージの確認。

    uv pip list
    Package            Version
    ------------------ ----------
    certifi            2024.12.14
    charset-normalizer 3.4.1
    idna               3.10
    requests           2.32.3
    urllib3            2.3.0

    バージョン指定付きでインストールするには、次のように記述します。

    uv add requests==2.32.3

    (3) コードの編集。

    ・hello.py

    import requests
    response = requests.get('https://www.google.com')
    print(response.status_code)

    (4) コードの実行。

    uv run hello.py
    200

    3-3. その他の操作

    (1) パッケージの削除。

    uv remove requests

    (2) 「requirements.txt」のインストール。

    uv add -r requirements.txt

    (3) 依存関係の同期。
    「pyproject.toml」に記述された依存関係を基に、プロジェクトを最新の状態に同期します。

    uv sync

    (4) pipと同じ挙動でパッケージをインストール。

    uv pip install requests

    「uv pip install」は、uvのメリット (速度など) を得ることができません。何らかの理由で、pipと同じ挙動でインストールしたい場合に使います。



     
     

    npaka

     
     
    プログラマー。iPhone / Android / Unity / ROS / AI / AR / VR / RasPi / ロボット / ガジェット。年2冊ペースで技術書を執筆。アニソン / カラオケ / ギター / 猫 twitter : @npaka123

    あなたへのおすすめ