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
OSの環境変数です(私はOSXを使用しています)。シェル内から手動で呼び出すとos.environ.get('ENV_VAR')
、目的の出力が得られることを確認しました。
ファイルexecution.py
は と同じディレクトリにあり、ヘッダーsettings.py
にステートメントがあります。valueを返しますが、エラーを返します:import settings
print settings.comp_name
'mymachine.local'
print settings.DB_VAR
AttributeError: 'module' object has no attribute 'DB_VAR'
基本的に、コードが実行されている環境に応じて、これらの変数に渡される値を制御する必要があります。ここで私が間違っていることについての指針は非常に高く評価されます。