如何从 .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"))
我一直在参考网上的教程,但即使我严格按照教程进行操作,还是出现问题。
我试图在 .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"))