我在.env文件中添加了环境设置。我写了“ settings.py”,它读取.env文件并存储设置值。我想从other_script.py导入settings.py。但是我没有价值。
我试图执行“ settings.py”并返回一个值。另一方面,当我执行导入设置的other_script时,这些值变为None值。
settings.py:
import os
from dotenv import load_dotenv
from pathlib import Path
env_path = Path('.') / '.env'
load_dotenv(env_path)
MONGO_IP = os.getenv("MONGO_IP")
MONGO_PORT = os.getenv("MONGO_PORT")
MONGO_DB = os.getenv("MONGO_DB")
print(MONGO_DB)
other_script.py:
from pymongo import MongoClient
from settings import MONGO_IP, MONGO_PORT, MONGO_DB
print(MONGO_DB)
mongo_client = MongoClient(MONGO_IP, MONGO_PORT)[MONGO_DB]
因此,当我执行other_script.py时,键应该返回一个值。我想念什么?
答案 0 :(得分:0)
要检查的两件事是:
$hourdiff = abs(round(($datediff)/3600, 1));
和settings.py
在同一文件夹中。没有这个,other_script.py
将无法找到other_script.py
。
查看您的settings.py
,看看env
是否工作正常。如果load_dotenv(env_path)
的env值设置不正确,则无法读取它们。
答案 1 :(得分:0)
如果它们不在同一个文件夹中,则问题可能是您要导入的文件夹中没有__init__.py
文件,因为需要将其打包。初始化文件可以为空。