为所有用户设置持久环境变量

为所有用户设置持久环境变量

我在本地 PC 上运行 Ubuntu,具有以下 Linux 发行版/内核:

$ 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'

第五次尝试

参考文献:[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

相关内容