【发布时间】:2020-07-18 01:45:53
【问题描述】:
我正在尝试在 sublime 文本中运行以下 python 代码
import os
os.environ.get("hello")
我已通过~/.bashrc文件中的以下代码将环境变量中“hello”的值设置为hello world。
export hello="hello world"
当我在 sublime 中运行此代码时,它会输出 None,而当我使用命令 python3 main.py 通过终端运行相同的代码时,它会输出正确的值,即 hello world。
另外,当我通过终端打开 sublime 并运行命令subl 时,当我再次在 sublime 中运行代码时,它会输出正确的值。
有没有办法,不通过终端打开sublime就可以得到环境变量的正确值?
注意:我运行的是 Ubuntu 20.04
编辑:我已经发现了错误。脚本或崇高没有问题,但是我以错误的方式设置了环境变量。 ~/.bashrc 中设置的环境变量只限于shell。在外壳之外,它们将无法工作。我需要设置系统范围的变量,可以通过更改文件/etc/environment 并以foo="bar" 的形式向其中添加变量来设置。
【问题讨论】:
-
您的代码是正确的,但除非您将其添加到 bashrc 文件中,否则您打开的任何新终端都不会包含 env 变量。因此,对于您打开的每个新终端,您都必须
export hello=world -
我确实提到了,我已经添加了 env 变量,并且能够通过终端运行代码来获取值
标签: python environment-variables sublimetext3