【问题标题】:emacs and python environmentemacs和python环境
【发布时间】:2014-03-09 06:10:27
【问题描述】:

我在 //anaconda/bin/python

中有一个本地 Python 安装

在命令提示符下

$python
>>import sys
>>print sys.executable
>>//anaconda/bin/python

但是,在emacs中我得到了

M-x shell
bash-3.2$ python
>>import sys
>> print sys.executable
>> /usr/bin/python

如何设置路径以在 emacs shell 中使用所需的 Python?

【问题讨论】:

  • 我对 emacs 不熟悉,所以我不能直接告诉你,但大概有一种方法可以在 emacs shell 中设置 $PATH 以在它前面加上 /anaconda/bin。谷歌似乎对此有很多答案。它与 Python 没有什么特别的关系。

标签: python macos shell emacs


【解决方案1】:

需要设置emacs使用的PATH环境变量。

退房 How do I make Emacs recognize bash environment variables for compilation?

具体如下: https://github.com/purcell/exec-path-from-shell

在 OS X 上,从图形用户界面启动的 Emacs 实例 将具有与终端窗口中的外壳不同的环境, 因为 OS X 在登录期间不运行 shell。显然这 调用外部实用程序时会导致意外结果 从 Emacs 制作。

这个库通过复制重要的内容来解决这个问题 来自用户 shell 的环境变量。

【讨论】:

    【解决方案2】:

    正如 demented Hedgehog 所写,您需要在 emacs 中修改 PATH 环境变量。具体来说,将这一行添加到您的 ~/.emacs~/.emacs.d/init.el 文件中,具体取决于您的 init 文件所在的位置。

    (setenv "PATH"
        (concat
         "//anaconda/bin:"
         (getenv "PATH")
         )
        )
    

    【讨论】:

      【解决方案3】:

      为了完整起见:在 Linux 中,只需从 shell 启动 emacs 即可读取当前路径。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-13
        • 2013-05-16
        • 1970-01-01
        • 2021-05-27
        • 2012-02-18
        相关资源
        最近更新 更多