PythonはRHELで環境変数を見ることができません。

PythonはRHELで環境変数を見ることができません。

次のコード行は、environment variable was not foundAzureで実行されているRHEL8仮想マシンでエラーを発生させます。

sourceKeys = os.environ.get("MY_ENV_VAR")

ただし、仮想マシンにパテを入れると、次のように変数にアクセスできます。

$ echo $MY_ENV_VAR
/path/to/some.yaml

この変数は、次のコードを使用して起動スクリプトのパッケージャによって設定されます。

export MY_ENV_VAR='/path/to/some.yaml'
echo "export MY_ENV_VAR='/path/to/some.yaml'" >> /etc/environment
echo "export MY_ENV_VAR='/path/to/some.yaml'" >> /etc/bashrc
echo "export MY_ENV_VAR='/path/to/some.yaml'" >> /etc/profile

Linuxターミナルは環境変数を読み取ることができますが、Pythonは読めないのはなぜですか?

Pythonプログラムが環境変数の値を読み取るにはどのような変更が必要ですか?

ベストアンサー1

os.environ.get()環境変数(env-var)の値のみが検索され、検索プロセスでアクセス可能です。プロセスがデーモン(から始まるプロセスのようにsystemd)またはエクスポートする実行スペースに依存しない場合、$ echo $MY_ENV_VAR結果は予想と異なる場合があります。

つまり、グローバルに使用できるように変数をエクスポートするには、その環境変数の値を照会/検索するために使用されるプロセスを生成するシェルから変数をエクスポートする必要があります。

いくつかの答えはstackoverflow.comと他の場所で見つけることができます。ここ

おすすめ記事