はじめに
どうも皆さんこんにちは
新卒一年目の駆け出しエンジニアです。
私が知らなかったことなどをoutputを含めて記事に書いて更新しいきます!
皆さんも一緒にわからないことは学んでいきましょう!
uvってなんですのん
とあるものを試しに触っていた時にuvこの文字と出会いました。
日焼け対策ですか??と思いながら調べると、パッケージマネージャーらしいです。
そんなuvについて今回は触れて学んでいこうと思います!
1.uvについて
uvとはpythonの仮想環境を作成管理してくれるパッケージマネージャーのことでした。
Rustで作られているので高速に動作します。
uvでできること
- Python本体のインストールと管理
- パッケージのインストールと管理
- 仮想環境の作成と管理
- 依存関係の固定
- ツールの実行と管理
- スクリプトの即時実行
uvはpip + venv + pip-tools + αのようなツールです。
2.uvを実際に使ってみる!!
実際に一年目エンジニアが触ってみました!
Step 1:まずはインストール
# Mac / Linux の場合
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell) の場合
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
インストールが終わったら、一度ターミナルを再起動します!
Step 2:プロジェクトを作ってみる
次に、開発用のフォルダを作って、uvを初期化します。
# フォルダ作成と移動
mkdir my-uv-app && cd my-uv-app
# プロジェクトの初期化
uv init
uv init実行すると、フォルダの中にいくつかファイルが生成されます。
生成されるファイル構成
my-project/
├── .python-version # 使用するPythonのバージョンを指定
├── pyproject.toml # プロジェクトの設定ファイル
└── hello.py # 動作確認用のサンプルスクリプト
Step 3:ライブラリを追加する
今回は、Webから情報を取ってくるrequestsというライブラリを入れてみます。
uv add requests
普通なら仮想環境(venv)を作って、アクティベートして……という手順が必要ですが、uvならaddするだけで勝手に環境を作ってインストールまで終わらせてくれます。
Step 4:プログラムを動かす
最初からあるhello.pyを少し書き換えて、requestsを使ってみましょう。
import requests
def main():
response = requests.get("https://api.github.com")
print(f"GitHub API Status: {response.status_code}")
if __name__ == "__main__":
main()
書き換えたら、コマンドで実行!
uv run hello.py
触ってみた感想
今までpythonを触るときは仮想環境を作ってからスタートしてましたが、uvならuv initしてuv addしてuv runするだけなので便利だと思いました。
これにプラスで高速に動くからすごいと思った!