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

如何查找并更新仅在Jupyter Notebooks中生效的旧环境变量

这个问题的本质是Jupyter进程的继承环境和你终端的shell环境不是同一套,你排查的都是shell的配置文件,没查到Jupyter进程独有的环境配置位置,可按以下步骤逐一排查:

  • 第一步:验证启动方式影响
    直接在终端执行jupyter notebook启动服务,打开 notebook 运行import os; print(os.environ['MY_ENV_VAR']),如果返回是新值,说明你之前是从图形界面(Launchpad/Dock/Spotlight)启动的Jupyter,图形进程默认不会加载用户的shell配置(.zshrc/.bashrc等),只会继承系统级的环境变量。
  • 第二步:排查Jupyter内核配置
    终端运行jupyter kernelspec list,找到你正在使用的Python内核对应的目录,打开目录下的kernel.json文件,查看是否有env字段固定了MY_ENV_VAR的旧值,直接修改或删除该字段即可。
  • 第三步:排查Conda环境激活脚本
    进入你使用的conda环境目录:/Users/me/opt/anaconda3/envs/你的环境名/etc/conda/activate.d/,检查该目录下的所有.sh脚本,同时也要检查base环境的/Users/me/opt/anaconda3/etc/conda/activate.d/目录下的脚本,是否有设置该环境变量的语句,修改为新值即可。
  • 第四步:排查Jupyter全局配置
    终端运行jupyter --config-dir找到Jupyter配置目录,查看目录下的jupyter_notebook_config.py或jupyter_server_config.py文件,搜索是否有c.EnvironmentVariables或手动设置os.environ['MY_ENV_VAR']的语句,更新为新值。
  • 第五步:排查Mac系统全局launchd环境
    终端运行launchctl getenv MY_ENV_VAR,如果返回的是旧值,说明该变量被设置到了launchd的全局环境中,所有图形进程都会继承这个值,执行launchctl setenv MY_ENV_VAR new_value即可更新,永久生效可将该命令写到开机自动执行的plist配置中。

内容的提问来源于stack exchange,提问作者jss367

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:15:01