从今天早上安装 CUDA 9 和 cudnn 7 之后,我一直在苦苦挣扎。我将 emacs 作为守护进程运行,zsh 作为我的默认 shell,我想使用 org-mode 来编写笔记本。
这是我的 .zshenv:
...
export LIBRARY_PATH="/usr/include/gtk-3.0:$LIBRARY_PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_FOUND"
export PATH="/usr/local/cuda-9.0/bin:$PATH"
export SHELL="/bin/zsh"
export WORKON_HOME=$HOME/.virtualenvs
这是最小的笔记本:
#+BEGIN_SRC ipython :results drawer :async t :session test
import os
print(os.environ["LD_LIBRARY_PATH"])
#+END_SRC
问题是 emacs 不知道 LD_LIBRARY_PATH。它说KeyError。
你知道我可以把我的环境变量放在哪里,以便我的终端和 Emacs-As-A-Daemon 都能读取吗?我以为它在 .zshenv 和 .zprofile 中,但它们都没有在守护进程模式下工作......(因为是的,当我定期启动它时它正在工作)。
精度: os.environ 的内容显示它似乎只读取 .profile 文件...但是为什么呢?我的默认终端是 zsh,而不是 bash。我试图将我的导出放在 .zprofile 中,重新启动 emacs 的 systemd 守护程序,甚至重新启动,但没有任何效果。如果这是一个愚蠢的问题,对不起。