You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下Python os.environ设置环境变量跨脚本不可见问题求助

如何在Ubuntu中设置全局可见的Python环境变量

你用os.environ设置的环境变量仅属于当前Python进程,进程结束后变量就会消失;其他独立运行的Python脚本是全新的进程,不会继承这个变量,所以读不到。以下是几种可行的解决方法:

方法一:终端会话中设置环境变量

临时生效(仅当前终端)

在终端执行以下命令,之后当前终端内运行的所有Python脚本都能读取到该变量:

export mykey=$(python -c "from uuid import uuid4; print(uuid4())")

永久生效(所有终端会话)

编辑你的shell配置文件(bash用户编辑~/.bashrc,zsh用户编辑~/.zshrc),添加一行:

export mykey=$(python -c "from uuid import uuid4; print(uuid4())")

保存后执行以下命令使配置生效:

source ~/.bashrc  # zsh用户替换为source ~/.zshrc

之后新开的终端或重启系统后,所有Python脚本都能访问该变量。

方法二:通过共享文件传递变量

如果需要在Python脚本间动态传递变量,可以将变量值写入文件,其他脚本读取该文件:

设置变量的脚本

from uuid import uuid4
mykey = str(uuid4())
# 将变量写入临时文件
with open('/tmp/mykey_store', 'w') as f:
    f.write(mykey)

读取变量的脚本

try:
    with open('/tmp/mykey_store', 'r') as f:
        getkey = f.read().strip()
    print(getkey)
except FileNotFoundError:
    print(None)

方法三:系统级全局环境变量

如果要让所有用户的Python脚本都能访问该变量,编辑/etc/environment文件(需要sudo权限),添加一行:

mykey=生成的UUID值

注意:这里无法直接执行Python代码生成UUID,需要先在终端执行python -c "from uuid import uuid4; print(uuid4())"获取值,再写入文件。配置完成后重启系统或重新登录会话即可生效。

内容的提问来源于stack exchange,提问作者Pavel M.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 19:20:33