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…

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

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

深入promise

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

RSA加密与解密原理

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

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

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

河北专升本(C语言)

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

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

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

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

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

LINUX定时解压缩方案

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

HarmonyOS 远端状态订阅开发实例

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

C++初阶(1)

W...Y的主页😊 代码仓库分享💕 ​ 🍔前言: 今天我们正式进入C篇章,作为学过C语言的同志,继续学习C肯定就不会进行那些与C语言相同的学习,因为C语言的内容在C中也可以正常使用,所…

通过示例详细了解ES6导入导出模块

通过示例详细了解ES6导入导出模块 似乎许多开发人员认为 ES6 模块只不过是export、import关键字。事实上,它更加多样化。它拥有强大的功能和鲜为人知的问题。在本文中,我们将使用一些示例来了解这些内容。 示例一 // index.mjs import { default } fr…

flask vue跨域问题

问题: 调试时候跨域访问报: Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response. 解决办法: 安装flask_cros from flask_cors import CORS CORS(app) app.after_request def a…

如何避免大语言模型绕过知识库乱答的情况?LlamaIndex 原理与应用简介

本文首发于博客 LLM 应用开发实践 随着 LangChain LLM 方案快速普及,知识问答类应用的开发变得容易,但是面对回答准确度要求较高的场景,则暴露出一些局限性,比如向量查询方式得到的内容不匹配,LLM 对意图识别不准。所…

【Linux】多线程

文章目录 一.Linux线程概念1.什么是线程2.二级页表3.线程的优点4.线程的缺点5.线程异常6.线程用途 二.Linux进程VS线程1.进程和线程2.进程的多个线程共享3.进程和线程的关系 三.Linux线程控制1.POSIX线程库2.线程创建3.线程等待4.线程终止5.分离线程6.线程ID及进程地址空间布局…

手机拍摄的视频噪点很多怎么办,视频怎么做降噪处理?

现如今,智能手机已经成为了我们生活中必不可少的存在。而随着智能手机越来越强大,很多人已经开始使用手机来拍摄各种类型的视频。但是由于手机的限制,很多人会发现自己拍摄的视频存在着很多的噪点。那么,我们该怎样来解决拍摄视频…

N点复序列求2个N点实序列的快速傅里叶变换

一、方法简介 通过一个点复数序列求出两个点实数序列的离散傅里叶变换,进一步提升快速傅里叶变换的效率。 二、方法详解 和是实数序列,且长度都为,定义复数序列: , 则序列和可表示为: 的离散傅…

端到端的机器学习项目(Machine Learning 研习之六)

使用真实数据 当你在研习机器学习时,最好是使用真实世界中的数据,而不是采用人工数据。巧的是,数以千计的数据集可供选择,涵盖了各种领域。 流行的开放数据存储库: OpenML.orgKaggle.compaperswithcode.com UC Irvin…