Open8

uv(Pythonのpackage管理)で新規プロジェクトを作成する

keitaknkeitakn

概要

Pythonのpackage管理としては少し前までは Rye だったが最近では uv が良さそうなので uv を使ってみる。

既にかなり詳しい記事が公開されているのでこれらの記事も参考にしながら進めていく。

https://zenn.dev/tabayashi/articles/197205349d6935

https://zenn.dev/tabayashi/articles/52389e0d6c353a

keitaknkeitakn

uvRye の関係については以下に詳しい記事を書いている方がいた。

https://methane.hatenablog.jp/entry/2024/02/21/uvとRye

Rye の設定を変更して uv を利用するようにも出来るようだが、それなら uv を直接使ったほうがシンプルな構成になると思ったので uv を使う事にした。

keitaknkeitakn

uvのインストール

Homebrewでインストールが楽そうなので以下を実行する。

brew install uv
keitaknkeitakn

利用出来るPythonバージョンの確認

uv python list を実行する。

以下のように実行可能なバージョンが出力される。

cpython-3.13.0+freethreaded-macos-aarch64-none    <download available>
cpython-3.12.7-macos-aarch64-none                 <download available>
cpython-3.12.0-macos-aarch64-none                 /opt/homebrew/opt/python@3.12/bin/python3.12 -> ../Frameworks/Python.framework/Versions/3.12/bin/python3.12
cpython-3.11.10-macos-aarch64-none                <download available>
cpython-3.11.6-macos-aarch64-none                 /opt/homebrew/opt/python@3.11/bin/python3.11 -> ../Frameworks/Python.framework/Versions/3.11/bin/python3.11
cpython-3.10.15-macos-aarch64-none                <download available>
cpython-3.10.13-macos-aarch64-none                /opt/homebrew/opt/python@3.10/bin/python3.10 -> ../Frameworks/Python.framework/Versions/3.10/bin/python3.10
cpython-3.9.20-macos-aarch64-none                 <download available>
cpython-3.9.6-macos-aarch64-none                  /Library/Developer/CommandLineTools/usr/bin/python3 -> ../../Library/Frameworks/Python3.framework/Versions/3.9/bin/python3
cpython-3.8.20-macos-aarch64-none                 <download available>
pypy-3.10.14-macos-aarch64-none                   <download available>
pypy-3.9.19-macos-aarch64-none                    <download available>
pypy-3.8.16-macos-aarch64-none                    <download available>
keitaknkeitakn

Pythonのインストール

最新の3.13をインストール。

uv python install 3.13

ちなみにインストール可能なバージョンは以下で確認可能。

uv python list
keitaknkeitakn

Pythonのバージョンを固定

以下を実行してPythonのバージョンを固定。

uv python pin 3.13.0
keitaknkeitakn

packageの追加と仮想環境の構築

以下を実行。

uv init --app [プロジェクト名]

pyproject.toml が以下の内容で出来るのでプロジェクトルートにコピーする。

[project]
name = "プロジェクト名"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13.0"
dependencies = []

とりあえずFastAPIを追加してみる。

uv add fastapi

これを実行するとプロジェクトルートに .venv/ が作成される。

keitaknkeitakn

PyCharm にPythonインタープリター

IDEにPythonインタープリターを設定する。

uv が作成した .venv/ 内のPythonインタープリターを設定する。