如何在Emacs启动py-shell时加载shell环境变量?

时间:2014-03-04 14:56:46

标签: python bash shell emacs ipython

我在大学工作,他们有自己的图书馆和python库路径。每次我开始ipython时,我都需要运行一个shell脚本(例如/etc/university/env.sh

问题是emacs无法识别env.sh文件。当我做py-shell时,emacs总是在没有任何预先设置的环境变量的情况下使用Python。

有没有办法让emacs在启动python之前运行/etc/corporate/env.sh

2 个答案:

答案 0 :(得分:1)

/home/ccfenix/mypython.sh中(确保chmod +x,Emacs会自动执行此操作):

#!/bin/bash

# . /etc/corporate/env.sh
export SOMEVAR=10
python "$@"

~/.emacs

(defun my-python ()
  (interactive)
  (ansi-term "/home/ccfenix/mypython.sh"))

并测试: M-x mypython

import os
print os.environ["SOMEVAR"]
# => 10

答案 1 :(得分:0)

运行/etc/university/env.sh后,从此shell启动Emacs。 然后,之前设置的变量是已知的。