码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Windows 中环境变量的查看与设置


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

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

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

    文章目录

      • 1. PowerShell
        • 查看环境变量:
        • 设置环境变量:
      • 2. CMD (命令提示符)
        • 查看环境变量:
        • 设置环境变量:
      • 3. Python
        • [1]os
          • 查看环境变量:
          • 设置环境变量:
        • [2]dotenv
      • 关于环境变量和.env文件
      • 我的一个疑问

    1. PowerShell

    查看环境变量:

    • 查看所有环境变量:

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

      $env:PATH
      
      • 1

    设置环境变量:

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

      $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 项目,需要动态或条件配置
  • 相关阅读:
    Dubbo(分布式框架·上)
    1034 Head of a Gang
    从JDBC attack到detectCustomCollations利用范围扩展
    HarmonyOS ArkTS List组件和Grid组件的使用(五)
    初识Java 6-1 复用
    Eureka注册中心(黑马学习笔记)
    LeetCode中等题之整数转罗马数字
    GO微服务实战第三十二节 如何使用 ELK 进行日志采集以及统一处理?
    全网最全:Mysql六种约束详解
    docker单机安装Higress(踩坑+解决)
  • 原文地址:https://blog.csdn.net/qq_52431436/article/details/133842944
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号