我有一个 python 文件,我正在使用 decouple、psycopg2 和 pyathena 远程访问公司数据库。为此,我必须使用 DB_password、db_host 和 db_user 字段。我正在处理的文件比根目录低 2 级,并且依赖于我的 .env 文件来填充密码。我的 .env 文件位于根目录中。
这是我用来调用密码/.env 文件的代码: from decouple import config
import psycopg2
import boto3
import os
import pyathena
db_pw = config('DB_PW')
db_host = config('DB_HOST')
db_user = config('DB_USER')
conn = psycopg2.connect(host=db_host, database='my_company', user=db_user, password=db_pw)
我的 .env 文件位于根目录中,如下所示(每个变量都在新行上):
DB_USER="user"
DB_HOST="host address"
DB_PW="password"
当我运行代码时,导入工作正常,但是当我运行导入下面的代码获取配置时,它显示“UndefinedValueError:未找到 DB_PW。将其声明为 envvar 或定义默认值。”
不过,我已经定义了值。所以这让我觉得要么我设置了我的 .env 文件不正确,而且它在错误的位置,但它在根目录中。有任何想法吗?