4
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?

More than 1 year has passed since last update.

Pythonの venv 仮想環境内で環境変数を恒常的に設定する方法

Posted at

問題提起

Pythonの venv 仮想環境を使って web開発を行っていると以下のように、ターミナルから環境変数にAPI Keyを登録することが多いかと思います。

zsh
export API_KEY="2urh932hf0efe43fof742jf..."

しかしこのようにターミナルで設定するやり方は仮想環境の立ち上げのたびに、環境変数の参照が切れてしまう問題がよく発生します。僕は毎回めんどくさいと思いながら設定し直していました...

解決方法

python-dotenv モジュールを使う

以下の手順に従ってpython-dotenv を使って環境変数を設定することでvenv 仮想環境内で環境変数を恒常的に設定することができます。

1 . venv 仮想環境に python-dotenv をインストールします

pip install python-dotenv

2 . プロジェクトのルートディレクトリに .env ファイルを作成します。このファイルに環境変数を定義します

touch .env

3 . .env ファイルを開き、以下の形式で環境変数を定義します

API_KEY="api key をここに指定してください"

4 . 最後に、Python スクリプトからこれらの環境変数をロードするには、load_dotenv 関数を使います

Python
from dotenv import load_dotenv
import os

load_dotenv()

api_key = os.getenv("API_KEY")

まとめ

このように、python-dotenv を使うと、venv 環境を立ち上げるたびに手動で環境変数を設定する必要がなくなります。
また、セキュリティの観点から、パスワードや秘密鍵などの機密情報を含む .env ファイルを共有したり、公開リポジトリにプッシュしたりしないように注意してください。

最後に

特定のファイルをgitのバージョン管理から外す方法については以下の記事で解説しているのでご参照ください。

4
0
2

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
4
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?