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

接触了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
    

设置环境变量:

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

    $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-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
    

关于环境变量和.env文件

以下是chatgpt的回答

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

我的一个疑问

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

还是问问gpt

配置方法优点缺点最佳使用情况
.env- 简单且通用
- 适合存储敏感信息
- 与环境变量集成
- 结构简单
- 需要外部库
存储简单的配置和敏感信息
config.json- 广泛支持
- 结构灵活
- 不适合存储敏感信息
- 缺乏注释功能
跨语言项目,或需要稍微复杂结构的配置
config.yaml- 可读性好
- 支持注释
- 适合复杂配置
- 需要外部库
- 语法相对严格
复杂的配置结构,需要注释和文档的项目
config.py- 使用 Python 语法
- 动态配置
- 利用 Python 模块系统
- 可执行性可能有风险
- 不适合与其他语言共享配置
Python 项目,需要动态或条件配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/105885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】HTTP协议

文章目录 📖 前言1. 认识URL && 引入http协议2. http协议格式2.1 宏观格式:2.2 实验演示: 3. http的方法3.1 GET方法:3.2 POST方法:3.3 GET vs POST: 4. HTTP的报头和状态码5. http的cookie5.1 htt…

估算总体标准差的极差均值估计法sigma = R/d2

总体标准差的估算值可以通过将平均极差除以合适的常数因子d2来计算。这个估算方法是用于估算总体标准差的一种常见方法,尤其在质量控制和过程监控中经常使用。 总体标准差的估算值 (平均极差) / d2 其中: "总体标准差的估算值" 表示用极差…

Floorplanning with Graph Attention

Floorplanning with Graph Attention DAC ’22 目录 Floorplanning with Graph Attention摘要1.简介2.相关工作3.问题公式化4. FLORA的方法4.1 解决方案概述4.2 C-谱聚类算法 4.3 基于GAT的模型4.4 合成训练数据集生成 摘要 布图规划一直是一个关键的物理设计任务&#xff0…

MFC与Qt常见窗体、控件对比

MFC常见窗体: MFC(Microsoft Foundation Classes)提供了一系列用于创建 Windows 图形用户界面(GUI)应用程序的常见窗体类。下面是一些常见的 MFC 窗体类: CDialog:对话框类,用于创建简单的对话框窗口,通常包含按钮、文本框、标签等控件。CFrameWnd:框架窗口类,用于…

宝塔面板部署express以及MySql项目

第一次在宝塔面板上部署express和MySql项目,部署过程一直跑不通接口,特此记录一下。 在部署的时候,建议第一步把数据库MySql给跑通,中间好多原因是由于数据库的原因给引起的。 一.连接数据库 (1)在宝塔面…

深入promise

深入promise 我们可能知道如何使用 Promise,但是我们知道它们实际上是如何工作的吗? 为了让每个人都了解Promise,让我们从基础开始。如果我们知道 Promise 是什么以及如何使用它,我们可以跳过这一部分并直接跳到“魔法开始”的地…

RSA加密与解密原理

目录 一、什么是RSA加密 二、RSA加密原理 三、RSA加解密过程与算法代码 一、什么是RSA加密 RSA加密是一种非对称加密算法。 对称加密: 对称加密是一种加密方式,加密和解密使用同一个密钥,被加密的信息在传输前用预先协商好的密钥进行加密…

[JVM]问下,对象在堆上的内存分配是怎样的

Java 技术体系的自动内存管理,最根本的目标是自动化地解决两个问题:自动给对象分配内存以及自动回收分配给对象的内存 这里面最重要的就是,对象在堆上的内存分配 这篇文章来具体讲讲 堆整体上来说,主要分为 新生代 & 老年代 新生代又分为: Eden 区和 Survivor 区, Survivo…

KUKA机器人如何强制输出或取消数字IO信号?

KUKA机器人如何强制输出或取消数字IO信号? 具体的操作方法和步骤可参考以下内容: 如下图所示,点击菜单—显示—输入/输出端,如下图所示,选择想要查看的信号,这里以数字输出端为例进行说明, 如下图所示,此时可以看到输出端信号的编号、名称和当前值,可以通过下拉滚动条…

河北专升本(C语言)

目录 一:C语言的构成特点 二: 数据类型 三: 常量、变量、运算符及表达式 (一)标识符 (二)常量 (三)变量:其值可以改变的量 (四)各种类型数据混合运算 &…

Java实现快速排序

1.介绍 快排分为两种: 1.lomuto分区算法 (快慢指针)(单边) 2.Hoare分区算法 (前后指针)(双边) 快排主要思想:选一个基准元素分为两部分,先让左边排一下序再让右边排序 2.思路分析 1.lomuto分区算法 默认:最右边的元素作为基准点 1.设置两个指针(dest , cu…

【Java】工具类的设计

工具类设计思想 构造方法用 private 修饰 外部无法new成员方法使用 public static 修饰 通过类名称 . 方法名称 访问 示例代码: Test11_1.java:设计一个工具类 package com.api.Demo07;import java.util.Arrays;public class Test11_1 {/*** 将数组中 …

简单好用的解压缩软件:keka 中文 for mac

Keka是一款功能全面、易于使用的文件压缩和解压缩软件,为Mac用户提供了便捷的文件管理工具。它支持多种压缩格式,具有快速解压和强大的压缩功能,让您能够轻松地处理各种文件压缩需求。 隐私非常重要 安全共享只需设置密码并创建高度加密的文…

深度强化学习 第 2 章 蒙特卡洛

2.1随机变量 强化学习中会经常用到两个概念: 随机变量、 观测值。 本书用大写字母表示随机变量,小写字母表示观测值,避免造成混淆。 下面我们定义概率质量函数(probability mass function,缩写 PMF)和概率…

mkdir-创建目录文件

mkdir命令来自英文词组”make directories“的缩写,其功能是用来创建目录文件。使用方法简单,但需要注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。 语法格式:mkdir [参数] 目录名 参数说明-m创建目录的同时设置权限-p递归创建多级目录-v显…

课程表系列

相关题目: 207. 课程表 210. 课程表 II 1462. 课程表 IV class CourseSchedule:"""207.课程表https://leetcode.cn/problems/course-schedule/"""def __init__(self):# 记录⼀次递归堆栈中的节点self.onPath []# 记录遍历过的节点&…

LINUX定时解压缩方案

需求背景 对接客户中某个上游为外包系统,外包系统每日推送压缩文件至指定文件夹下,文件格式为YYYYMMDD_RegReport.zip。由于每日采集文件,无法对接压缩包内文件,需要将推送的压缩文件每日解压为文件夹 需求分析 与客户沟通后&a…

Kafka知识补充

如何避免 Rebalance 最简单粗暴的就是 : 减少组成员数量发生变化 每个 Consumer 实例都会定期地向 Coordinator 发送心跳请求,表明它还存活着。如果某个 Consumer 实例不能及时地发送这些心跳请求,Coordinator 就会认为该 Consumer 已经“死…

HarmonyOS 远端状态订阅开发实例

IPC/RPC 提供对远端 Stub 对象状态的订阅机制, 在远端 Stub 对象消亡时,可触发消亡通知告诉本地 Proxy 对象。这种状态通知订阅需要调用特定接口完成,当不再需要订阅时也需要调用特定接口取消。使用这种订阅机制的用户,需要实现消…

Tensorflow2 中对模型进行编译,不同loss函数的选择下输入数据格式需求变化

一、tf2中常用的损失函数介绍 在 TensorFlow 2 中,编译模型时可以选择不同的损失函数来定义模型的目标函数。不同的损失函数适用于不同的问题类型和模型架构。下面是几种常见的损失函数以及它们的作用和适用场景: 1.均方误差(Mean Squared …