接触了LLM应用开发后,经常要用到环境变量的设置(openAI apikey啥的)
但是老忘记,今天来学习和总结一下
主要用到以下几种:使用 PowerShell、CMD 和 Python 来查看和设置环境变量
文章目录
- 1. PowerShell
- 查看环境变量:
- 设置环境变量:
- 2. CMD (命令提示符)
- 查看环境变量:
- 设置环境变量:
- 3. Python
- [1]os
- 查看环境变量:
- 设置环境变量:
- [2]dotenv
- 关于环境变量和.env文件
- 我的一个疑问
1. PowerShell
查看环境变量:
-
查看所有环境变量:
Get-ChildItem Env:
-
查看特定环境变量(例如
PATH
):$env:PATH
设置环境变量:
-
为当前会话设置环境变量(例如设置
MYVAR
为123
):$env:MYVAR = "123"
-
为系统永久设置环境变量(需要管理员权限):
[System.Environment]::SetEnvironmentVariable("MYVAR", "123", "Machine")
2. CMD (命令提示符)
查看环境变量:
-
查看所有环境变量:
set
-
查看特定环境变量(例如
PATH
):echo %PATH%
设置环境变量:
- 为当前会话设置环境变量:
set MYVAR=123
注意:在 CMD 中设置的环境变量仅对当前命令行会话有效。
3. Python
[1]os
查看环境变量:
import os# 查看所有环境变量
print(os.environ)# 查看特定环境变量(例如 `PATH`)
print(os.environ['PATH'])
设置环境变量:
import osos.environ['MYVAR'] = '123'
注意:在 Python 中,这样设置的环境变量只会影响当前进程。
[2]dotenv
-
安装命令是:
pip install python-dotenv
-
使用代码如下
import os from dotenv import load_dotenvload_dotenv()
-
现在可以使用 os.environ 获取 .env 文件中定义的变量了
比如常用到数据库和openai的api-keyOPENAI_API_KEY=your_openai_api_key_here DATABASE_URL=postgres://user:password@localhost:5432/chatbot_db LOG_LEVEL=DEBUG ANALYTICS_API_ENDPOINT=https://api.analytics-service.com/ ANALYTICS_API_KEY=your_analytics_api_key_here
关于环境变量和.env文件
以下是chatgpt的回答
我的一个疑问
不同的开源项目看到很多种存储配置的方式,我们该如何选择呢?
还是问问gpt
配置方法 | 优点 | 缺点 | 最佳使用情况 |
---|---|---|---|
.env | - 简单且通用 - 适合存储敏感信息 - 与环境变量集成 | - 结构简单 - 需要外部库 | 存储简单的配置和敏感信息 |
config.json | - 广泛支持 - 结构灵活 | - 不适合存储敏感信息 - 缺乏注释功能 | 跨语言项目,或需要稍微复杂结构的配置 |
config.yaml | - 可读性好 - 支持注释 - 适合复杂配置 | - 需要外部库 - 语法相对严格 | 复杂的配置结构,需要注释和文档的项目 |
config.py | - 使用 Python 语法 - 动态配置 - 利用 Python 模块系统 | - 可执行性可能有风险 - 不适合与其他语言共享配置 | Python 项目,需要动态或条件配置 |