为什么Python通过bash进行测试时,即使该变量具有值,python也无法检索环境变量的值



我想使用来自环境变量的值。我已经将其设置在~/.bashrc文件中,并且可以在新的外壳和当前的外壳中看到它(显然,source之后(。但是,当我在python3 shell中导入相同的变量(无论是在现有外壳还是在新外壳中(时,返回的值始终为 None

我读了很多东西,找到了一个相关的答案,但没有解决我的问题,或者我无法理解。

我的bashrc文件是:

SLACK_URL="https://hooks.slack.com/"

我能够在终端中看到该值,但在python shell中看不到:

ubuntu@ip-A.B.C.D:~$ echo $SLACK_URL 
https://hooks.slack.com/
ubuntu@ip-A.B.C.D:~$ python3
Python 3.6.8 (default, Jan 14 2019, 11:02:34) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.getenv('SLACK_URL')
>>> 

我希望看到实际变量的值,但是我得到了None

您需要export .bashrc文件中的变量,以便其他程序可以看到它:

export SLACK_URL="https://hooks.slack.com/"

有关export做什么的更多信息,请参阅此处:https://askubuntu.com/questions/58814/how-do-do-i--i--i--i-----envorirnment-variaiables

最新更新