2

到目前为止,我的所有编码项目都使用 Emacs。很快我将第一次开始一些 python 项目,并且也很想坚持使用 Emacs。

我正在研究 elpy,它似乎已经提供了很多所需的功能。我无法完全弄清楚的部分如下。我喜欢定义要在项目基础上使用的虚拟环境和 python 版本。假设我启动了一个项目 A,然后我会使用pyenv-virtualenvpyenv-virtualenvwrapper来设置它

pyenv virtualenv 3.4.2 my-virtual-env-3.4.2

通过这样做,我将 python 版本 3.4.2 链接到该特定的 virtualenv / 项目。结合elpy,我有两个问题。

问:这是一个相当基本的问题。以上都可以通过终端来实现。emacs 支持这一点有什么优势?我的工作流程是:创建具有关联 virtualenv 和 python 版本的项目。激活 virtualenv 并开始在 emacs 中编码。如果我需要安装一个包,我将在终端中运行 pip 以确保正确捕获 virtualenv。在 emacs 中支持这一点肯定是有好处的。由于我缺乏知识,我只是看不到它:)

正如所指出的,我们希望 emacs / elpy 支持这一点肯定有充分的理由。我的第二个问题是

**问题:如何在 emacs 中实现这一点?像这个博客这样的Lokks有一个解决方案。我想知道是否有人已经尝试过这个设置,如果它是一个在概念上有意义的简洁解决方案。**

4

1 回答 1

1

好吧,我强烈猜测目标是使用更多功能而不仅仅是语法突出显示:flycheck/flake8/linting、重构、elpy 的测试运行程序以使用正确的 python 版本、直接从 emacs 安装 pip 包,诸如此类。您可以在终端中继续执行此操作,但是一旦您需要 emacs 功能,您就需要对其进行设置。

我找到了两种模式来做到这一点(参见wikemacs python 页面在 melpa 上进行了双重检查):pyenv-mode(在 melpa 中)和pyenv-mode-auto(当有 .python-version 文件时更改版本)。

于 2017-04-06T15:00:41.130 回答