在学习Deeplearning.ai课程的时候,学到了里面通过读取.
env文件获取环境变量的方法。
Deeplearning.ai提供的代码示例:
import openai
import os
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
openai.api_key = os.getenv('OPENAI_API_KEY')
比如.env文件里的内容为:
OPENAI_API_KEY="csdn" ,这样就能通过os.getenv将其值赋值给openai.api_key这个变量。
dotenv库简介
dotenv库是一个广泛使用的环境变量管理库,它允许开发者从.env
文件中读取键值对,并将其作为环境变量加载到应用程序中。这个库特别适用于开发过程中,因为它可以帮助开发者将敏感或特定于环境的配置信息(如数据库凭证、API密钥等)保存在.env
文件中,而不是直接在代码中硬编码它们。dotenv库在pypi中名字为python-dotenv。
安装dotenv
使用pip安装python-dotenv库。在命令行中运行pip install python-dotenv
。
pip install python-dotenv
示例中还需要用到openai库,安装:
pip install openai
使用dotenv
在代码执行的根目录,创建一个.env
文件,并在其中添加环境变量(例如:DATABASE_URL=postgres://user:password@localhost:5432/mydatabase
)。
OPENAI_API_KEY="csdn"
OPENAI_API_BASE="http://localhost:1337"
像Deeplearning.ai提供的代码示例里那样使用即可
import openai
import os
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
openai.api_key = os.getenv('OPENAI_API_KEY')
OPENAI_API_BASE = os.environ['OPENAI_API_BASE']
print(openai.api_key, OPENAI_API_BASE)
当然也可以执行读取的变量文件位置,不局限于当前目录,也不局限于.env这个名字,比如
_ = load_dotenv(dotenv_path='/path/to/.env')
从指定目录加载环境变量文件:/path/to/.env
最后,因为一般会把比较机密的信心放入.env文件,所以要注意环境文件不要漏漏。