我有一个文件settings.py
,如下所示:
import sys
import socket
import os
comp_name = socket.gethostname()
if comp_name == 'mymachine.local':
DB_VAR=os.environ.get('ENV_VAR')
else:
print 'update settings.py with global variable names for this machine'
sys.exit(1)
ENV_VAR
是来自操作系统的环境变量(我在OSX上)。我已经确认从shell中手动调用os.environ.get('ENV_VAR')
可以获得所需的输出。
文件execution.py
与settings.py
位于同一目录中,标题中包含import settings
语句。 print settings.comp_name
返回值'mymachine.local'
,但print settings.DB_VAR
会返回错误:
AttributeError: 'module' object has no attribute 'DB_VAR'
基本上,我需要根据运行代码的环境控制将哪些值传递给这些变量。关于我在这里做错的任何指示都将非常感激。