从另一个python脚本调用settings.py

时间:2019-04-24 15:56:18

标签: python dotenv

我在.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时,键应该返回一个值。我想念什么?

2 个答案:

答案 0 :(得分:0)

要检查的两件事是:

  1. $hourdiff = abs(round(($datediff)/3600, 1)); settings.py在同一文件夹中。没有这个,other_script.py将无法找到other_script.py

  2. 查看您的settings.py,看看env是否工作正常。如果load_dotenv(env_path)的env值设置不正确,则无法读取它们。

答案 1 :(得分:0)

如果它们不在同一个文件夹中,则问题可能是您要导入的文件夹中没有__init__.py文件,因为需要将其打包。初始化文件可以为空。