すべてのユーザーの永続環境変数の設定

すべてのユーザーの永続環境変数の設定

私はローカル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. ユーザーの環境変数を恒久的に設定する方法
  2. すべてのユーザーのための永続的な環境変数
  3. 環境変数を恒久的に設定する方法
  4. ユーザー環境変数を設定するには? (永久、非セッション)

ベストアンサー1

試行3または4の方法を使用する必要がありますが、変数の変更をエクスポートする必要があります。

MYVAR=123

到着

export MYVAR=123

おすすめ記事