如何在名为
.env
的文件中获取我的密钥?
我的代码(macOS)有什么问题? 顺便说一句,一个名为dotenv的模块可以工作。但是我只能使用OS模块吗? 请帮助我!🙏🙏
在
.env
:
key = 123456
在
test.py
:
import os
actual_key = os.getenv('key')
print(actual_key)
最后控制台的输出是
None
您需要使用
dotenv
从 .env
文件加载环境变量,如下所示:
from dotenv import load_dotenv
# Load the environment variables from the .env file
load_dotenv()
actual_key = os.getenv('key')
print(actual_key)
dotenv
可以安装pip install python-dotenv
你不能为所欲为。
os.getenv
无法直接从 .env
文件中获取变量。
TLDR;
关于环境变量的设置:
在 macOS 中临时设置环境变量:
export [variable_name]=[variable_value]
永久执行:
~/.bash-profile
export [variable_name]=[variable_value]
.bash_profile
文件所做的任何更改.bash_profile
来执行新的
source ~/.bash-profile
如果你不想想要使用提到的
dotenv
库,你必须先source .env文件和export所有变量,然后再运行使用os.getenv
的python脚本,看这个:https://stackoverflow.com/a/65694371/15923186
os.getenv('key')
在环境变量 中寻找“密钥”。默认情况下,.env 文件中的键值对 not 加载到环境变量中。如果你想以这种方式加载密钥,你必须首先将 .env 文件的内容添加到环境变量中。我建议使用 python-dotenv 库:
import os
from dotenv import load_dotenv
load_dotenv() # will search for .env file in local folder and load variables
KEY_VAR = os.getenv('KEY')