首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows/Linux上使用环境变量?

如何在Windows/Linux上使用环境变量?
EN

Stack Overflow用户
提问于 2022-12-04 02:11:08
回答 1查看 17关注 0票数 -1

我正在尝试使用一个使用环境变量作为密钥存储的OpenAI库(https://github.com/orhanerday/open-ai),但在运行它时,它似乎没有找到关键。

在本地Windows机器上,我运行了以下命令:setx OPENAI_API_KEY “mykey”

在Linux服务器上,我运行了以下命令:export OPENAI_API_KEY=mykey

在服务器上,当我运行以下命令时,我看到正确的键值打印给我:printenv OPENAI_API_KEY

在我的脚本中,我使用的是$open_ai_key = getenv('OPENAI_API_KEY');,但是我没有得到任何价值。?

任何关于我如何解决这个问题的信息都将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-12-04 02:16:22

听起来,您设置的环境变量无法被您正在运行的脚本识别。这有几个可能的原因。

首先,您需要确保在正确的环境中设置了环境变量。运行setxexport命令时,它将设置当前shell会话的环境变量。这意味着该变量只对在运行命令后启动的进程可用。如果您将脚本作为服务或在不同的shell会话中运行,它将无法访问环境变量。

要解决这个问题,可以在设置环境变量的同一个shell会话中运行脚本,也可以在系统上全局设置变量,使其可供所有进程使用。要在Windows上全局设置变量,可以使用带有setx标志的-m命令:

setx -m OPENAI_API_KEY mykey

在Linux上,可以在/etc/environment文件中设置变量:

echo 'OPENAI_API_KEY=mykey' >> /etc/environment

在设置变量之后,您将需要重新启动任何需要使用它以使更改生效的服务或进程。

另一个可能的问题是脚本没有正确地访问环境变量。在代码中,您需要使用getenv()函数来检索环境变量的值。例如:

$apiKey = getenv('OPENAI_API_KEY');

确保脚本使用此函数检索API键,并确保变量名拼写正确。

我希望这能帮到你!如果你还有其他问题,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74672366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档