如何从 .env 文件成功加载 API 密钥

How to load API keys from .env file successfully

我一直在参考网上的教程,但即使我严格按照教程进行操作,还是出现问题。

我试图在 .env 文件中隐藏一些 API 键,这是我的 .env 的内容(与 init.py 相同的目录):

CONNSTRING = DefaultEndpointsProtocol=samplesamplesameplsamplesample

这是我的 init.py

from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
print(os.getenv("CONNSTRING"))

哪个不行?不确定错误,这就是它所说的:

System.Private.CoreLib: Result: Failure  
Exception: ModuleNotFoundError: No module named '__main__'

if usecwd or _is_interactive() or getattr(sys, 'frozen', False):
  File "D:\\", line 265, in _is_interactive
    main = __import__('__main__', None, None, fromlist=['__file__'])

默认情况下,.env 应该与您执行的文件处于同一级别。 但是您可以指定路径作为 load_dotenv 方法的参数。 也许你应该尝试摆脱 find_dotenv 方法并直接给出你的 .env 的绝对路径,如下所示:

import os                                                                                                                                                                                                          
from dotenv import load_dotenv, find_dotenv
from pathlib import Path
load_dotenv(Path("/my/path/.env"))
print(os.getenv("CONNSTRING"))