вызов settings.py из других скриптов python - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть файл .env, в который я добавил настройки среды. Я написал "settings.py", который читает файл .env и хранит значения настроек. Я хочу импортировать settings.py из other_script.py. Но я получаю None как ценность.

Я попытался выполнить «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, ключи должны возвращать значение. Что мне не хватает?

1 Ответ

0 голосов
/ 24 апреля 2019

Необходимо проверить две вещи:

  1. settings.py и other_script.py находятся в одной папке.Без этого other_script.py не сможет найти settings.py.

  2. Посмотрите на env и посмотрите, работает ли load_dotenv(env_path) правильно.Если значения env для MONGO_* установлены неправильно, вы не сможете их прочитать.

...