如何在Jupyter Notebook中正确取消设置环境变量?
解决dotenv重新加载环境变量不生效及IPython中移除环境变量的问题
一、解决dotenv修改.env后重新加载不生效的问题
默认情况下load_dotenv不会覆盖已存在的环境变量,所以修改.env后重新加载不会更新值,有两种直接的解决方式:
强制覆盖已有变量:调用
load_dotenv时传入override=True参数,强制用.env文件中的新值覆盖已有的环境变量:from dotenv import load_dotenv load_dotenv('./.env', override=True)手动清除旧变量后再加载:如果强制覆盖仍有异常,可以先手动删除
os.environ中对应旧变量,再重新加载:import os from dotenv import load_dotenv # 列出.env文件中需要更新的变量名,逐个删除旧值 for key in ['TARGET_VAR1', 'TARGET_VAR2']: if key in os.environ: del os.environ[key] # 重新加载.env文件 load_dotenv('./.env')
二、解决IPython中移除环境变量的问题
IPython没有专门的unset魔法命令,但可以直接操作os.environ字典彻底移除环境变量:
单个变量移除:用
del语句直接删除指定环境变量,不会产生字面意义的None字符串:import os del os.environ['YOUR_VARIABLE_NAME']验证移除结果:执行以下代码确认变量已被移除:
'YOUR_VARIABLE_NAME' in os.environ # 返回False表示变量已被彻底移除
内容的提问来源于stack exchange,提问作者DChaps
相关产品推荐
相关产品推荐

