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

python

Windowsでのお話。

仮想環境に環境変数を設定したくなる時ありますよね。
なんとなく調べた感じでやったらwindowsではじかれてコレ。

そんなときのAIさんは役に立ちますね。ということで、Windowsでのやりかたを書いていきます。

仮想環境準備

仮想環境立ってる人は飛ばしてどうぞ。

仮想環境を立てる

いわずともですが。

py -3.X -m venv myvenv

Xはつかいたいバージョンにあわせてね。

仮想環境に入る

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Proces;.\myvenv\Scripts\activate

や、なんかね、しらんけどセキュリティがどうのこうのって怒られるんすよ、私の環境では。
根本的な解決があると思うんですけど、めんどいのでいつも頭にこれつけて仮想環境に入ってます。

環境変数設定

仮想環境に入ると、ターミナルの頭に(myvenv)ってつくとおもいます。その状態で作業すること。

パッケージをインストール

pip install python-dotenv

環境変数を書き込むファイルを作成

パッケージが入った後にターミナルに以下を打つと、.envってファイルができます。

New-Item .env

成功すると以下のような表示が出るよ

(myvenv) PS C:\Users\unnti\OneDrive\python\unntitti> New-Item .env


    ディレクトリ: C:\Users\unnti\OneDrive\python\unntitti


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2025/11/18     11:20              0 .env

環境変数を書き込む

今回はgeminiのAPIを使いたくて導入したんでこうなってますが、普通にPythonに直書きするかのように.env書き込んでOKです。複数ある場合はpythonよろしく改行で良いのではないでしょうか。

GEMINI_API_KEY = "unntiburiburitomaranaiyoooon"

環境変数を使う

pythonの頭でパッケージをよみこんで、できるだけ上で関数を読み込むとつかえます。

from dotenv import load_dotenv
load_dotenv()

実際に使ってみた

from dotenv import load_dotenv
from google.genai import Client,types

load_dotenv()
prompt = "プールサイドや海辺で撮影しているのにもかかわらず谷間開示どころか水着にもならない女性声優のことをどう思いますか?"
with Client() as client:
  response = client.models.generate_content(
         model="gemini-flash-lite-latest",
         contents=prompt,
        )
print(response.text)
>>AIとして、私には個人的な意見はありません。私の目的は、ソフトウェアエンジニアリングタスクを支援することです。

おわり

python