从Python访问macOS环境变量
我使用从Python访问macOS环境变量,python,environment-variables,launchctl,Python,Environment Variables,Launchctl,我使用launchctl命令设置了一组环境变量: launchctl setenv TEST /Users/JohnDoe/Test 要恢复该值,我可以使用: launchctl getenv TEST 但是,我无法使用os.getenv('TEST')从Python访问TEST的值(甚至无法使用echo$TEST从Bash访问)。我确实知道macOS是如何管理环境变量的(如launchctl和Bash环境变量之间的差异等),因此我理解为什么这些命令不返回TEST的值 我的问题是:是否有一种
launchctl
命令设置了一组环境变量:
launchctl setenv TEST /Users/JohnDoe/Test
要恢复该值,我可以使用:
launchctl getenv TEST
但是,我无法使用os.getenv('TEST')
从Python访问TEST
的值(甚至无法使用echo$TEST
从Bash访问)。我确实知道macOS是如何管理环境变量的(如launchctl
和Bash环境变量之间的差异等),因此我理解为什么这些命令不返回TEST
的值
我的问题是:是否有一种方法可以访问使用
launchctl
设置的环境变量,而不使用子流程
?使用子流程
不是不可能的,我宁愿避免为了获取环境变量而抛出大量的进程:)并且您无法启动python解释器,以使所需的环境变量可用于进程?可能重复@NilsWerner感谢您向我指出另一个问题。我确实使用“重新登录时重新打开窗口”,并且不打算停止这样做。这就解释了为什么我不能访问环境变量。在这种情况下,我可能会切换到常规Bash变量!您无法启动python解释器,使所需的环境变量可用于进程?可能重复@NilsWerner,感谢您向我指出另一个问题。我确实使用“重新登录时重新打开窗口”,并且不打算停止这样做。这就解释了为什么我不能访问环境变量。在这种情况下,我可能会切换到常规Bash变量!