今天我一直在努力将更多与Python相关的模式带入其中 我的Emacs配置,但我运气不好。
首先我注意到的是取决于Emacs的方式 启动(终端vs桌面),它决定的解释器 使用是不同的。
: M-!哪个python 给出/usr/bin/python
从终端发起: M-!哪个python 给出~/local/bin/python
我可以接受这个,因为我附加了 .bashrc 〜/ local / bin 到路径,我猜KDE默认忽略它。我可以 解决这个问题,然而我不明白的是,如果我 激活virtualenv,我希望 M - !哪个python指向 〜/ project.env / bin / python 但它仍然指向〜/ local / bin / python 。
因此当我 M-x py-shell 时,我得到〜/ local / bin / python 所以如果我尝试 位于包中的模块上的 M-x py-execute-buffer virtualenv, py-shell 会抱怨不知道模块 也是在virtualenv。
将 py-python-command 设置为“〜/ project.env / bin / python”似乎没有 一切都加载后效果。
所以我想我的问题的总体关键是,如何得到所有 python相关的emacs东西指向正确的解释器?
答案 0 :(得分:8)
所以看起来python-shell通过拾取环境设置做正确的事情,而py-shell却没有。 python-shell由python.el提供,py-shell由python-mode.el提供,有与之相关的bug报告等,所以我现在不打算使用py-shell。如果谷歌机器出于某种原因认为这是一个高排名的项目,我想关闭这个循环。
答案 1 :(得分:4)
有一个virtualenv mode for Emacs。它需要Emacs 23.1或更高版本。
这是设置的次要模式 Python的虚拟环境 shell使用virtualenv和支持 python-mode.el和python.el。