• Windows 中环境变量的查看与设置


    接触了LLM应用开发后,经常要用到环境变量的设置(openAI apikey啥的)

    但是老忘记,今天来学习和总结一下

    主要用到以下几种:使用 PowerShell、CMD 和 Python 来查看和设置环境变量

    1. PowerShell

    查看环境变量:

    • 查看所有环境变量:

      Get-ChildItem Env:
      
      • 1
    • 查看特定环境变量(例如 PATH):

      $env:PATH
      
      • 1

    设置环境变量:

    • 为当前会话设置环境变量(例如设置 MYVAR123):

      $env:MYVAR = "123"
      
      • 1
    • 为系统永久设置环境变量(需要管理员权限):

      [System.Environment]::SetEnvironmentVariable("MYVAR", "123", "Machine")
      
      • 1

    2. CMD (命令提示符)

    查看环境变量:

    • 查看所有环境变量:

      set
      
      • 1
    • 查看特定环境变量(例如 PATH):

      echo %PATH%
      
      • 1

    设置环境变量:

    • 为当前会话设置环境变量:
      set MYVAR=123
      
      • 1

    注意:在 CMD 中设置的环境变量仅对当前命令行会话有效。

    3. Python

    [1]os

    查看环境变量:
    import os
    
    # 查看所有环境变量
    print(os.environ)
    
    # 查看特定环境变量(例如 `PATH`)
    print(os.environ['PATH'])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    设置环境变量:
    import os
    
    os.environ['MYVAR'] = '123'
    
    • 1
    • 2
    • 3

    注意:在 Python 中,这样设置的环境变量只会影响当前进程。

    [2]dotenv

    • 安装命令是:

      pip install python-dotenv
      
      • 1
    • 使用代码如下

      
      import os
      from dotenv import load_dotenv
      
      load_dotenv()
      
      • 1
      • 2
      • 3
      • 4
      • 5
    • 现在可以使用 os.environ 获取 .env 文件中定义的变量了
      比如常用到数据库和openai的api-key

      OPENAI_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
      
      • 1
      • 2
      • 3
      • 4
      • 5

    关于环境变量和.env文件

    以下是chatgpt的回答

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    我的一个疑问

    不同的开源项目看到很多种存储配置的方式,我们该如何选择呢?

    还是问问gpt

    配置方法优点缺点最佳使用情况
    .env- 简单且通用
    - 适合存储敏感信息
    - 与环境变量集成
    - 结构简单
    - 需要外部库
    存储简单的配置和敏感信息
    config.json- 广泛支持
    - 结构灵活
    - 不适合存储敏感信息
    - 缺乏注释功能
    跨语言项目,或需要稍微复杂结构的配置
    config.yaml- 可读性好
    - 支持注释
    - 适合复杂配置
    - 需要外部库
    - 语法相对严格
    复杂的配置结构,需要注释和文档的项目
    config.py- 使用 Python 语法
    - 动态配置
    - 利用 Python 模块系统
    - 可执行性可能有风险
    - 不适合与其他语言共享配置
    Python 项目,需要动态或条件配置
  • 相关阅读:
    Java基础之jvm2
    zeppelin安装python(使用pymysql包)
    LeetCode 207. 课程表(C++)*
    自动控制原理8.3---相平面法
    电动汽车感应电动机优化控制与仿真分析
    htaccess绕过上传实验
    博客园商业化之路-众包平台:偶遇外包项目需求
    Unity --- 射线检测
    YOLOV5对接微信小程序
    easy-excel 解决百万数据导入导出,性能很强
  • 原文地址:https://blog.csdn.net/qq_52431436/article/details/133842944