OpenAI platform :
https://platform.openai.com/home
點取最左小角的Personal

Organization settings:

Billing:

Usage Limit

Edit spend limit

setx OPENAI_API_KEY …
是 Windows 用來永久設定環境變數的指令,
通常是把你的 OpenAI API Key 存起來,
讓程式不用把金鑰寫死在程式碼中。
例如:
setx OPENAI_API_KEY “sk-proj-xxxxxxxxxxxxxxxxxxxxxxxx”
設定成功後,會看到類似:
SUCCESS: Specified value was saved.
—和 set 有什麼不同?
只對目前 Command Prompt 有效:
set OPENAI_API_KEY=sk-proj-xxxxxxxx
關掉 CMD 就消失了。
永久儲存(建議):
setx OPENAI_API_KEY “sk-proj-xxxxxxxx”
重新開啟 CMD、PowerShell 或 VS Code Terminal 後就可以使用。
—Python 怎麼讀?
import os
api_key = os.getenv("OPENAI_API_KEY")
print(api_key)或
from openai import OpenAI
client = OpenAI() # 會自動抓 OPENAI_API_KEY
# 會自動讀取 OPENAI_API_KEY不用寫:
# client = OpenAI(api_key="sk-proj-...")
—如何確認有沒有設定成功?
CMD:
echo %OPENAI_API_KEY%PowerShell:
echo $env:OPENAI_API_KEYPython:
import os
print(os.getenv("OPENAI_API_KEY"))—注意事項
setx 有兩個容易踩到的地方:
1. 不會影響目前已開啟的終端機執行 setx 後,
要重新開啟 CMD、PowerShell、VS Code Terminal,
新的環境變數才會生效。
2. 不要把 API Key 上傳到 GitHub
不要直接把 sk-proj-… 寫進程式碼或公開分享。
如果你是照 OpenAI 官方文件學習 API,
使用 setx OPENAI_API_KEY … 是
官方建議的做法之一(Windows)
最小範例:
from openai import OpenAI
# 會自動讀取環境變數 OPENAI_API_KEY ,不用寫:
# client = OpenAI(api_key="sk-proj-...")
client = OpenAI()
response = client.responses.create(
model="gpt-4.1-mini", #"gpt-5.6-terra" ,#
input="Hi"
)
print(response.output_text)輸出:

1. setx 指令
setx是 Windows 提供的用來永久寫入環境變數的指令(寫入後需重新開啟命令提示字元視窗才生效)。- Windows 上常見設法設環境變數:
- 臨時:
set OPENAI_API_KEY=...(只對目前視窗有效) - 永久:
setx OPENAI_API_KEY ...(寫到使用者環境變數)
- 臨時:
2. 在 Ubuntu/Linux 怎麼設?
- Ubuntu/Linux 沒有
setx指令。 - 通常設環境變數有以下做法:
- 臨時(只對當前 shell 有效):
export OPENAI_API_KEY=你的API金鑰永久(加到 shell 啟動檔,例如 .bashrc、.zshrc):
echo 'export OPENAI_API_KEY=你的API金鑰' >> ~/.bashrc
source ~/.bashrc總結比較表

官方文件建議
- OpenAI 官方文件會依照不同作業系統建議不同指令。
- Windows:
set或setx - Ubuntu/Linux/macOS:
export或修改.bashrc、.zshrc
- Windows:
結論
- Ubuntu/Linux 上不能用
setx,要用export。 - 若要永久生效,請寫到
.bashrc或.zshrc。
推薦hahow線上學習python: https://igrape.net/30afN

![Python: 如何逐row讀取DataFrame的資料?使用 pandas 的 df.itertuples() 方法(namedtuple讀取每一列); df.iterrows() 用Tuple[index, pd.Series] 讀取每一列 Python: 如何逐row讀取DataFrame的資料?使用 pandas 的 df.itertuples() 方法(namedtuple讀取每一列); df.iterrows() 用Tuple[index, pd.Series] 讀取每一列](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2024/10/20241023105826_0_bab0ff.png?quality=90&zoom=2&ssl=1&resize=350%2C233)







近期留言