为什么在命令提示符中设置的环境变量在我启动Spyder时没有效果

Why do the environment variables set in command prompt have no effect when I start Spyder

我正在为 Python 使用 Spyder Anaconda IDE。我正在 Spyder IDE 中编写代码,需要为 Theano 库设置很少的环境变量($CPATH、$LIBRARY_PATH 和 $LD_LIBRARY_PATH)。

我正在使用命令启动 Spyder

sudo ./spyder 

开始一切顺利。即使我在

中设置了环境变量
/root/.bashrc

文件,代码仍然无法接受路径,如果我尝试打印

print os.environ["LD_LIBRARY_PATH"]

它引发了 KeyError。

我用普通用户尝试了以上所有方法,但仍然失败。我怎样才能让 Spyder IDE 能够查看上述路径中的文件,我可以在 Spyder 中的什么地方设置它们?

您需要告诉 sudoers 文件在使用 sudo 命令时要保留哪些环境变量。

编辑sudoers文件运行。

sudo visudo

然后将下面这行添加到它的末尾。

Defaults env_keep = "LD_LIBRARY_PATH CPATH LIBRARY_PATH"

然后 export 你的变量。

export LD_LIBRARY_PATH="/path/to/library"

现在你应该可以 运行 它了。

可以在此处找到更多信息How to keep Environment Variables when Using SUDO