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

(生成AIをはじめから) ステップ1 - 1日目 補足 ※python環境作成

0
Posted at

全体像

この3行は、生成AIアプリをPythonで作るための開発環境の初期セットアップです。

python -m venv .venv
source .venv/bin/activate  # Windowsなら .venv\Scripts\activate
pip install openai python-dotenv pydantic

やっていることは次の3つです。

  1. Python専用の作業部屋を作る
  2. その作業部屋に入る
  3. 必要な道具を入れる

1. python -m venv .venv

python -m venv .venv

これは仮想環境を作るコマンドです。

python

Pythonを実行しています。

python

と打つと、通常はPCにインストールされているPythonが起動します。

確認するなら:

python --version

例:

Python 3.12.4

-m

-m

は、Pythonのモジュールをコマンドとして実行するという意味です。

つまり、

python -m venv

は、

Pythonに付属している venv という機能を実行してね

という意味です。


venv

venv

は、Python標準の仮想環境作成ツールです。

仮想環境とは、プロジェクトごとに分離されたPython環境です。

たとえば、あなたのPCに次のようなプロジェクトがあるとします。

project-a
project-b
project-c

それぞれで必要なライブラリが違うことがあります。

project-a: openai 1.50
project-b: openai 1.70
project-c: openai 2.0

これを全部PC本体に直接入れると、バージョン衝突が起きます。

そこで、プロジェクトごとに仮想環境を作ります。

project-a/.venv
project-b/.venv
project-c/.venv

これにより、各プロジェクトが自分専用のPython環境を持てます。


.venv

.venv

は、作成する仮想環境フォルダの名前です。

. で始まる名前は、Mac/Linuxでは隠しフォルダ扱いになります。

よく使われる名前は:

.venv
venv
env

実務では .venv がかなり一般的です。

このコマンドを実行すると、プロジェクトフォルダの中にこういうフォルダができます。

your-project/
├── .venv/
├── main.py
└── .env

.venv の中には、Python本体やライブラリ管理用のファイルが入ります。


2. source .venv/bin/activate

source .venv/bin/activate

これは、作った仮想環境を有効化するコマンドです。

Mac/Linuxの場合はこれです。

source .venv/bin/activate

Windowsの場合はこれです。

.venv\Scripts\activate

PowerShellなら、環境によっては:

.venv\Scripts\Activate.ps1

有効化とは何か

仮想環境を作っただけでは、まだ使われません。

作った直後の状態では、ターミナルはまだPC本体のPythonを見ている可能性があります。

そこで、

source .venv/bin/activate

を実行して、

このターミナルでは .venv のPythonを使う

という状態にします。


有効化できているか確認する

有効化されると、ターミナルの先頭にこんな表示が出ます。

(.venv) your-project %

この (.venv) が出ていればOKです。

さらに確認するなら:

which python

Mac/Linuxなら、こう出るはずです。

/path/to/your-project/.venv/bin/python

Windowsなら:

where python

結果に .venv が含まれていればOKです。


source とは何か

source

は、シェルに対して「このファイルの内容を今のターミナルに反映して」というコマンドです。

activate ファイルは普通のPythonファイルではありません。

ターミナルの設定を一時的に変えるためのスクリプトです。

具体的には、主に PATH という環境変数を変更します。


PATHとは何か

PATH は、コマンドを探す場所の一覧です。

たとえば、あなたがターミナルで

python

と打ったとき、OSは PATH に登録された場所を順番に探して、最初に見つかった python を実行します。

仮想環境を有効化すると、.venv/bin が優先されます。

つまり、

python

PC本体のPython

ではなく、

your-project/.venv/bin/python

を指すようになります。

これが仮想環境の本質です。


3. pip install openai python-dotenv pydantic

pip install openai python-dotenv pydantic

これは、仮想環境の中にPythonライブラリをインストールするコマンドです。

pip

pip

は、Pythonのパッケージ管理ツールです。

Node.jsでいう npm、Javaでいう Maven/Gradle、Rubyでいう Bundler に近いです。

Pythonライブラリをインストールするときに使います。


install

install

は、そのまま「インストールする」という意味です。


openai python-dotenv pydantic

これはインストールするライブラリ名です。

一度に3つ入れています。

pip install openai
pip install python-dotenv
pip install pydantic

と3回実行しても同じです。


それぞれのライブラリの意味

1. openai

pip install openai

OpenAI APIをPythonから使うための公式ライブラリです。

これを入れると、PythonコードからOpenAIのモデルを呼び出せます。

例:

from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5.1",
    input="こんにちは。Pythonから呼び出しています。"
)

print(response.output_text)

この openai がないと、OpenAI APIを呼ぶコードを書くのが面倒になります。

HTTPリクエストを自分で組み立てる必要があるからです。


2. python-dotenv

pip install python-dotenv

.env ファイルを読み込むためのライブラリです。

生成AIアプリでは、APIキーを扱います。

APIキーをコードに直接書くのは危険です。

悪い例:

client = OpenAI(api_key="sk-xxxxxxxxxxxxxxxx")

これはやめた方がいいです。

GitHubに上げたときに漏洩する可能性があります。

そこで、.env ファイルを使います。

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx

Python側ではこう読み込みます。

from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

client = OpenAI()

load_dotenv().env の中身を環境変数として読み込んでくれます。

OpenAI SDKは OPENAI_API_KEY という環境変数を自動で見に行きます。

だから、client = OpenAI() だけでAPIキーが使えます。


3. pydantic

pip install pydantic

Pydanticは、データの型チェック・検証・構造化をするライブラリです。

生成AI開発ではかなり重要です。

なぜなら、LLMの出力はそのままだと不安定だからです。

たとえば、AIにこう頼んだとします。

顧客問い合わせを分類して、JSONで返してください

期待する出力:

{
  "category": "billing",
  "priority": "high",
  "summary": "請求金額に関する問い合わせ"
}

でも実際には、モデルが余計な説明をつけたり、項目名を間違えたりすることがあります。

Pydanticを使うと、期待する形をPython側で定義できます。

from pydantic import BaseModel

class InquiryResult(BaseModel):
    category: str
    priority: str
    summary: str

これにより、

category は文字列
priority は文字列
summary は文字列

というルールをコードで表現できます。

生成AIアプリでは、これはかなり実務的です。


コマンド実行後の状態

この3行を実行すると、プロジェクトはだいたいこうなります。

your-project/
├── .venv/
├── main.py
├── .env
└── requirements.txt

まだ main.py.envrequirements.txt は自分で作る必要があります。


.env の例

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx

注意点:

.env はGitに上げない

.gitignore にこう書きます。

.env
.venv/

これがかなり大事です。


requirements.txt も作るべき

ライブラリを入れたら、次にこれを実行するとよいです。

pip freeze > requirements.txt

これで、現在の仮想環境に入っているライブラリ一覧が保存されます。

例:

openai==1.xx.x
python-dotenv==1.x.x
pydantic==2.x.x

別のPCで同じ環境を作るときは:

pip install -r requirements.txt

これで再現できます。

実務ではこれが重要です。


よくあるミス

ミス1:仮想環境を有効化せずにpip installする

pip install openai

を仮想環境なしで実行すると、PC本体のPythonに入ることがあります。

避けるには、まずこれを確認します。

which python
which pip

どちらも .venv を指していればOKです。


ミス2:.venv をGitHubに上げる

.venv はサイズが大きいです。

また、OS依存のファイルも含みます。

Git管理すべきではありません。

.gitignore に入れます。

.venv/

ミス3:APIキーをコードに直書きする

これは危険です。

悪い例:

client = OpenAI(api_key="sk-...")

よい例:

from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()
client = OpenAI()

実際のおすすめ手順

新しいプロジェクトを作るなら、私はこの順番をおすすめします。

mkdir ai-sample
cd ai-sample

python -m venv .venv
source .venv/bin/activate

pip install openai python-dotenv pydantic
pip freeze > requirements.txt

touch main.py
touch .env
touch .gitignore

.gitignore

.venv/
.env
__pycache__/

.env

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx

main.py

from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

client = OpenAI()

response = client.responses.create(
    model="gpt-5.1",
    input="PythonからOpenAI APIを呼び出しています。短く返答してください。"
)

print(response.output_text)

実行:

python main.py

まとめ

この3行は、単なる準備ではありません。

python -m venv .venv
source .venv/bin/activate
pip install openai python-dotenv pydantic

意味はこうです。

このプロジェクト専用のPython環境を作る
↓
その環境を使う状態にする
↓
OpenAI API開発に必要なライブラリを入れる

生成AIを仕事で使うなら、この流れは毎回使う基本動作です。

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