
私はローカルPCで次のLinuxディストリビューション/カーネルを使用してUbuntuを実行しています。
$ lsb_release -a
>> ubuntu 16.04.3 LTS
$ uname -r
>> 4.10.0-33-generic
os
パッケージを介して環境変数を呼び出すPython(3.5)スクリプトがあります。
簡単にするために、次のスクリプト test_script.py を使用します。
import os
MY_VAR = os.environ['MY_VAR']
print(MY_VAR)
端末でこのスクリプトを実行すると:
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
1回試してください
参考資料:[1][4]
$ MY_VAR=123
$ export MY_VAR
$ echo $MY_VAR
>> 123
$ python test_script.py
>> 123
成功!...ターミナルを閉じて再び開くまでです。私がこれを行うとき:
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
2回試してください
参考文献:[2]
最後に/home/USER/.profile
次の行を追加します。
# my variable
MYVAR=123
救う。保存されていることを確認してください。
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
3回試してください
参考文献:[2]
最後に/etc/profile
次の行を追加します。
# my variable
MYVAR=123
救う。保存されていることを確認してください。
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
4回試してください
参考文献:[2]
myvar.sh
内蔵/etc/profile.d/
次の行を追加します。
MYVAR=123
救う。保存されていることを確認してください。
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
5回目の試み
参考資料:[2][3]
最後に/etc/environment
次の行を追加します。
MYVAR=123
救う。保存されていることを確認してください。
$ python test_script.py
>> File "test-script.py", line 3, in <module>
>> MY_VAR = os.environ['MY_VAR']
>> File "/home/USER/anaconda3/lib/python3.6/os.py", line 669, in __getitem__
>> raise KeyError(key) from None
>> KeyError: 'MY_VAR'
助けてください!私がここで何を間違っているのか理解できません。
答え1
試行3または4の方法を使用する必要がありますが、変数の変更をエクスポートする必要があります。
MYVAR=123
到着
export MYVAR=123