Linux
為所有使用者設置持久環境變數
我在具有以下 linux 發行版/核心的本地 PC 上執行 Ubuntu:
$ lsb_release -a >> ubuntu 16.04.3 LTS $ uname -r >> 4.10.0-33-generic
我有一個 python (3.5) 腳本,它通過
os
包呼叫環境變數。為簡單起見,讓我們使用以下腳本 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'
請幫忙!我不明白我在這裡做錯了什麼。
您應該使用嘗試 3 或 4 中的方法,但您需要導出變數;改變
MYVAR=123
到
export MYVAR=123