这里有点随机问题。我使用PowerShell设置了一个环境变量,如下所示:
$env:GOOGLE_ELEVATION_API="the_api-key"
然后在python中,我尝试使用以下简单脚本阅读它:
from os import environ
key = environ.get("GOOGLE_ELEVATION_API")
这将返回None
。如果我在PowerShell中查询环境变量,它就在那里。如果我用os.environ
通过python查询它,它不是
我发现的所有结果都没有提到这应该是一个问题,无论是在PowerShell方面还是python方面。我没有重新启动我的机器,因为我真的不相信这是应该做的。我确实重新启动了IDE,希望它能以某种方式缓存环境,但谢天谢地,它没有
任何指针都会很棒
通过PowerShell的
$env:
名称空间设置环境变量只为当前进程定义它要在所有进程看到的机器级别上持续定义Windows环境变量,必须直接使用.NET API(从PowerShell 7.1开始):
请注意,只有未来的PowerShell会话才会看到此变量,并且需要重新启动应用程序,以便它看到新变量通常也适用于其他正在运行的应用程序
(例外情况是那些主动侦听
WM_SETTINGCHANGE
消息并刷新其环境作为响应的应用程序,这就是Windows GUI shell(explorer.exe
)所做的。)有关在Windows上持久设置环境变量的详细信息,请参阅this answer
相关问题 更多 >
编程相关推荐