2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

uvとtaskipyを使った環境変数の管理

2
Last updated at Posted at 2025-07-29

はじめに

AIを使ったアプリケーション開発で、APIキーを環境変数に保存することを考えます。

環境変数を特定のプロジェクトのみ有効にする方法として、dotenvdirenvautoenvなどがあります。

この記事では、uvtaskipyで環境変数を設定する方法を紹介します。

taskipyは、pyproject.tomlで管理するタスクランナーです。

前提

  • uvがインストールされている
  • taskipyがインストールされている
  • プロジェクトをpyproject.tomlで管理する
  • アプリケーションは、uv runで動かす

taskipyは、uv tool install taskipyでインストールできます。

構築手順

それでは、実際にプロジェクトを構築していきましょう。

1. ファイルの準備

まず、環境変数を定義する.envファイルと、それを読み込むmain.pyファイルを作成します。

.env
API_KEY="your_secret_api_key_here"
main.py
import os

api_key = os.getenv("API_KEY")

if api_key:
    # 成功!キーの一部を隠して表示
    print(f"✅ API Key loaded successfully: {api_key[:11]}...")
else:
    # 失敗
    print("❌ Error: API_KEY not found.")

2. タスクの設定

次に、pyproject.tomltaskipyのタスクを定義します。これにより、.envファイルを読み込むコマンドを簡単に実行できるようになります。

コード スニペット

pyproject.toml
[project]
name = "my-uv-project"
requires-python = ">=3.11"
version = "0.1.0"

# 以下を追加する
[tool.taskipy.tasks]
run = "uv run --env-file .env"

しくみの説明

pyproject.tomlに下記を追加すると、task new_commandとすることで右辺のコマンドを実行できます。また、task new_commandの後ろに付けた引数は、定義したコマンドの末尾にそのまま追加されます。

[tool.taskipy.tasks]
new_command = (コマンド)

このことから、「プロジェクトの設定」の記述により、task run main.pyとするとuv run --env-file .env main.pyを実行します。
この--env-file .envを付けることで、ファイル.envの環境変数を反映してコードを実行できます。

実行と確認

すべてのファイルが準備できたら、以下のコマンドを実行します。

コマンド

task run main.py

実行結果

✅ API Key loaded successfully: your_secret...

このように表示されれば、main.py.envファイルから環境変数を正しく読み込めたことになります。

おわりに

ポイントは「uv run --env-file .envを使えば、.envファイルで環境変数を簡単に管理できる」ということです。

このコマンドを毎回入力するのは手間ですが、taskipyを使うことでtask runのように短いコマンドで実行でき、管理も楽になります。

また、aliasを使う方法もありますが、aliasは個人のPCのシェル設定に依存するため、チームメンバーとの共有が困難です。一方、taskipyの設定はpyproject.tomlに記述されるため、Gitで管理でき、チーム全体で同じ開発体験を簡単に共有できるという大きなメリットがあります。

以上

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?