如何导出 sublime 构建工具的 PATH?

How to export PATH for sublime build tool?

我想为 sublime text 创建一个新的 "build tool",这样我就可以 运行 我的 python 脚本和带有 tensorflow 的 anaconda 环境。在我的其他机器上,这没有问题,但在我的支持 GPU 的 ubuntu 机器上,我收到错误。 我认为这是由于缺少路径。错误消息中提供的路径不包含 cuda 路径,尽管我已将它们包含在 .bashrc 中。

更新

我更改了 ~/.profile 以导出路径。但是tensorflow还是不会从sublime开始。 运行 我直接从终端脚本是没有问题的。 我得到 ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory

所以不知何故找不到 GPU 的东西(cuda?)

谢谢

好的,我明白了: 问题是缺少 LD_LIBRARY_PATH 变量。我只在 .bashrc.

导出了它

当我添加

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\ ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

~/.profile它正在工作(不要忘记重新启动)。 如果我使用 subl 从终端启动 sublime,它也可以传递所有变量。

我最近遇到了类似的问题。从一天到另一天,Sublime Text 停止读取一些环境变量,但是将它们从 .bashrc 更改为 .profile 并没有什么不同(特别是因为 .profile 调用 .bashrc)。

所以一种不每次都从终端启动 Sublime Text 的方法,您可以使用 env 键将环境变量直接添加到构建工具中,如下所示:

{
  "cmd": ["python3.5", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python",
  "env":
  {
    "LD_LIBRARY_PATH": "$LD_LIBRARY_PATH:/path/to/lib/folder",
    "ANOTHER_EV": "/this/other/path/if/needed"
  }
}

即使出于某种原因 sublime text 从终端启动,也不应该有问题,因为它会调用以前的路径。