如何设置Emacs使用给定的Python virtualenv?

时间:2016-07-22 21:27:54

标签: python emacs virtualenv emacs-prelude

我将Emacs用于许多任务,当我开始使用Python时,我希望继续使用Emacs来编写Python代码。

我为Python3设置了一个virtualenv,它正在按照需要运行。我还安装了最新版Emacs Prelude的Emacs 24.5。

当我编辑所有我期望的Python源文件时 - 代码完成,对象检查等 - 但是对于我的系统范围的Python安装,而不是我为项目设置的虚拟环境。

如何告诉Emacs将虚拟环境用于给定项目?

4 个答案:

答案 0 :(得分:6)

Elpy支持通过Pyenv内置的虚拟环境。 Pyenv也可以作为独立包安装。 Pyenv added support用于2014年的项目特定虚拟环境,但我自己没有对它们进行过实验,所以我不知道它的工作情况。

如果你想在Emacs中编写Python代码,我建议安装Elpy。它确实简化了启动和运行良好环境的过程,并且它是模块化的,因此当您决定需要更加量身定制的软件包时,可以随时停用部分。

你可能还想看看virtualenvwrapper.el,虽然Pyenv看起来有更多的功能。

答案 1 :(得分:2)

我知道这是一个很老的话题,但是对于那些来这里寻求答案的人来说,最新的答案可能会有用。

我使用pyvenv,主要是pyvenv-workon

尝试一下。我希望它对您有用。

答案 2 :(得分:0)

对我来说,我使用flycheck(它应用了pylint)来检查Emacs缓冲区中的Python代码。如果我希望flycheck / pylint在conda环境中正确考虑软件包,我发现有两个步骤是必要的:

  1. 在该虚拟环境中安装pylint(而不是使用系统范围的pylint)
  2. 从虚拟环境中启动Emacs

答案 3 :(得分:0)

对于我作为 Python 初学者来说,最简单的解决方案是使用 https://github.com/marcwebbie/auto-virtualenv。我在我的项目根目录中创建了一个 venv,添加了一个 .projectile 文件以进行良好的测量,当您按照 github 自述文件中的说明进行设置时,它“正常工作”。