首页 > 解决方案 > sublime text 无法在python中获取环境变量

问题描述

我试图在崇高的文本中运行以下 python 代码

import os
os.environ.get("hello")

我已经hello world通过文件中的以下代码将环境变量中“hello”的值设置为~/.bashrc

export hello="hello world"

当我在 sublime 中运行此代码时,它会输出None,而当我使用命令通过终端运行相同的代码时,python3 main.py它会输出正确的值,即hello world.

此外,当我通过终端打开 sublime 并运行命令subl时,当我再次在 sublime 中运行代码时,它会输出正确的值。

有没有办法,我可以在不通过终端打开 sublime 的情况下获得环境变量的正确值?

注意:我正在运行 Ubuntu 20.04

编辑:我已经发现了错误。脚本或崇高没有问题,但是我以错误的方式设置了环境变量。中设置的环境变量~/.bashrc只限于shell。在外壳之外,它们将无法工作。你我需要设置系统范围的变量,这些变量可以通过更改文件/etc/environment并以foo="bar".

标签: pythonenvironment-variablessublimetext3

解决方案


尝试将 Python 构建系统添加到 sublime:

转到工具/构建系统/新构建系统并添加:

{
'cmd': ['/usr/bin/python3', '-u', '$file'],
'file_regex': '^[ ]*File "(…*?)", line ([0-9]*)',
'selector': 'source.python'
}

保存文件,然后在:工具/构建系统中选择它


推荐阅读