代码之家  ›  专栏  ›  技术社区  ›  Anurag Jain

当我编辑.env文件并尝试使用新变量时,旧变量会被加载

  •  0
  • Anurag Jain  · 技术社区  · 5 月前

    这是.env文件的内容

    YOUTUBE_API_KEY=SyCnieNj
    # old-api-key
    # YOUTUBE_API_KEY=AIzayCno
    

    当我尝试使用 YOUTUBE_API_KEY 加载旧api 这是python代码的一部分:

    import os
    import json
    import time
    import googleapiclient.discovery
    import googleapiclient.errors
    from dotenv import load_dotenv
    
    # Load API keys
    load_dotenv()
    
    # YouTube API setup
    YOUTUBE_API_KEY = os.getenv("YOUTUBE_API_KEY")
    

    即使在从.env文件中删除了所有注释行之后 os.getenv("YOUTUBE_API_KEY") 仍在加载旧的api密钥

    有人能解释一下这个问题吗?

    当我更改.env中的api键并重新加载脚本时,脚本仍在使用旧的api键

    1 回复  |  直到 5 月前
        1
  •  0
  •   Vikas Kushwaha    5 月前

    我认为 load_dotenv 函数获取环境变量的缓存值。可以通过在中启用超控道具来解决 load_dotenv 功能。

    使用此方法,您可以在以正确的顺序更新时获取正确的值,我认为这会有所帮助(摘自python-dotenv的文档- https://pypi.org/project/python-dotenv/ ) -

    enter image description here

    load_dotenv(override=True)