Python環境変数の設定と取得方法完全ガイド|Windows・Mac・Linux対応
![]() |
20万件以上の案件から、副業に最適なリモート・週3〜の案件を一括検索できるプラットフォーム。プロフィール登録でAIスカウトが自動的にマッチング案件を提案。市場統計や単価相場、エージェントの口コミも無料で閲覧可能なため、本業を続けながら効率的に高単価の副業案件を探せます。フリーランスボード |
| |
週2〜3日から働ける柔軟な案件が業界トップクラスの豊富さを誇るフリーランスエージェント。エンド直契約のため高単価で、週3日稼働でも十分な報酬を得られます。リモートや時間フレキシブルな案件も多数。スタートアップ・ベンチャー中心で、トレンド技術を使った魅力的な案件が揃っています。専属エージェントが案件紹介から契約交渉までサポート。利用企業2,000社以上の実績。ITプロパートナーズ |
| |
10,000件以上の案件を保有し、週3日〜・フルリモートなど柔軟な働き方に対応。高単価案件が豊富で、報酬保障制度(60%)や保険料負担(50%)など正社員並みの手厚い福利厚生が特徴。通勤交通費(月3万円)、スキルアップ費用(月1万円)の支給に加え、リロクラブ・freeeが無料利用可能。非公開案件80%以上、支払いサイト20日で安心して稼働できます。Midworks |
環境変数は、プログラムの動作を制御する重要な仕組みです。Pythonでは環境変数を使って設定情報やAPIキーを管理し、セキュアで柔軟なアプリケーション開発を実現できます。この記事では、Python環境変数の設定方法、取得方法、実用的な活用例まで詳しく解説します。
目次
環境変数とは
環境変数は、オペレーティングシステムが管理する変数で、プログラムに設定情報を渡すために使用されます。APIキー、データベース接続情報、実行環境の判定など、コードに直接書きたくない重要な情報を安全に管理できます。
Python環境変数の取得方法
osモジュールを使用した基本的な取得
import os
api_key = os.environ.get('API_KEY')
print(api_key)
環境変数が存在しない場合のデフォルト値設定
import os
debug_mode = os.environ.get('DEBUG', 'False')
環境変数の存在確認
import os
if 'DATABASE_URL' in os.environ:
print("データベースURL設定済み")
すべての環境変数を表示
import os
for key, value in os.environ.items():
print(f"{key}: {value}")
Python内での環境変数設定
実行中に環境変数を設定
import os
os.environ['MY_VARIABLE'] = 'Hello World'
print(os.environ['MY_VARIABLE'])
一時的な環境変数設定
import os
original = os.environ.get('PATH')
os.environ['PATH'] = f"{original}:/new/path"
OS別環境変数設定方法
Windows での設定
コマンドプロンプト(一時的):
set API_KEY=your_api_key_here
python your_script.py
PowerShell(一時的):
$env:API_KEY="your_api_key_here"
python your_script.py
システム環境変数(永続的):
- 「システムのプロパティ」→「環境変数」
- 新規作成で変数名と値を設定
Mac/Linux での設定
ターミナル(一時的):
export API_KEY=your_api_key_here
python your_script.py
bashrc/zshrc(永続的):
echo 'export API_KEY=your_api_key_here' >> ~/.bashrc
source ~/.bashrc
.envファイルを使用した環境変数管理
python-dotenvライブラリのインストール
pip install python-dotenv
.envファイルの作成
API_KEY=your_secret_key
DATABASE_URL=postgresql://localhost/mydb
DEBUG=True
.envファイルの読み込み
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.environ.get('API_KEY')
実用的な活用例
データベース接続情報の管理
import os
db_config = {
'host': os.environ.get('DB_HOST', 'localhost'),
'user': os.environ.get('DB_USER', 'admin'),
'password': os.environ.get('DB_PASSWORD')
}
実行環境の判定
import os
is_production = os.environ.get('ENVIRONMENT') == 'production'
APIキーの安全な管理
import os
import requests
api_key = os.environ.get('OPENAI_API_KEY')
headers = {'Authorization': f'Bearer {api_key}'}
Pythonの主要な環境変数
PYTHONPATH
Pythonモジュールの検索パスを指定します。
import sys
print(sys.path) # PYTHONPATHの内容が含まれる
PYTHONDONTWRITEBYTECODE
.pycファイルの生成を無効化します。
export PYTHONDONTWRITEBYTECODE=1
PYTHONUNBUFFERED
標準出力のバッファリングを無効化します。
export PYTHONUNBUFFERED=1
セキュリティのベストプラクティス
1. 機密情報をコードに含めない
# ❌ 悪い例
api_key = "sk-1234567890abcdef"
# ✅ 良い例
api_key = os.environ.get('API_KEY')
2. .envファイルをバージョン管理から除外
# .gitignore
.env
*.env
3. 環境変数の存在チェック
import os
required_vars = ['API_KEY', 'DATABASE_URL']
for var in required_vars:
if not os.environ.get(var):
raise ValueError(f"環境変数 {var} が設定されていません")
トラブルシューティング
環境変数が取得できない場合
- スペルの確認: 変数名の大文字・小文字を確認
- 設定の確認:
echo $変数名で値を確認 - 再起動: ターミナルやIDEの再起動
日本語文字化けの対処
import os
value = os.environ.get('JAPANESE_TEXT', '').encode('utf-8').decode('utf-8')
まとめ
Python環境変数は、セキュアで柔軟なアプリケーション開発において不可欠な機能です。os.environを使った基本的な取得方法から、.envファイルを使った本格的な管理まで、適切な方法を選択して活用しましょう。
特に本番環境では、APIキーやデータベース接続情報などの機密情報を環境変数で管理することで、セキュリティリスクを大幅に軽減できます。開発効率と安全性の両方を向上させるため、環境変数を積極的に活用していきましょう。
■「らくらくPython塾」が切り開く「呪文コーディング」とは?
■プロンプトだけでオリジナルアプリを開発・公開してみた!!
■AI時代の第一歩!「AI駆動開発コース」はじめました!
テックジム東京本校で先行開始。
■テックジム東京本校
「武田塾」のプログラミング版といえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
より早く、より安く、しかも対面型のプログラミングスクールです。
<短期講習>5日で5万円の「Pythonミニキャンプ」開催中。
<月1開催>放送作家による映像ディレクター養成講座
<オンライン無料>ゼロから始めるPython爆速講座
![]() |
20万件以上の案件から、副業に最適なリモート・週3〜の案件を一括検索できるプラットフォーム。プロフィール登録でAIスカウトが自動的にマッチング案件を提案。市場統計や単価相場、エージェントの口コミも無料で閲覧可能なため、本業を続けながら効率的に高単価の副業案件を探せます。フリーランスボード |
| |
週2〜3日から働ける柔軟な案件が業界トップクラスの豊富さを誇るフリーランスエージェント。エンド直契約のため高単価で、週3日稼働でも十分な報酬を得られます。リモートや時間フレキシブルな案件も多数。スタートアップ・ベンチャー中心で、トレンド技術を使った魅力的な案件が揃っています。専属エージェントが案件紹介から契約交渉までサポート。利用企業2,000社以上の実績。ITプロパートナーズ |
| |
10,000件以上の案件を保有し、週3日〜・フルリモートなど柔軟な働き方に対応。高単価案件が豊富で、報酬保障制度(60%)や保険料負担(50%)など正社員並みの手厚い福利厚生が特徴。通勤交通費(月3万円)、スキルアップ費用(月1万円)の支給に加え、リロクラブ・freeeが無料利用可能。非公開案件80%以上、支払いサイト20日で安心して稼働できます。Midworks |




