簡體   English   中英

Emacs的組織模式:為了能夠在Emacs守護程序中使用它,我必須將導出放在哪里?

[英]Org-mode with Emacs: Where do I have to put my export in order to be able to use it in Emacs daemon?

自從今天早上安裝CUDA 9和cudnn 7之后,我一直在掙扎。我將emacs作為守護程序運行,將zsh作為默認外殼程序運行,並且我希望使用用戶組織模式來編寫筆記本。

這是我的.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守護程序,甚至重新啟動,但沒有任何效果。.很抱歉,這是一個愚蠢的問題。

好吧,我成功解決了我的問題。 我沒有處理Emacs配置,而是通過添加EnvironmentFile變量更改了systemd單元文件,該變量將其設置為等於.zshenv的路徑:

EnvironmentFile=~/.zshenv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM