带有Elpy 1.7.50的Emacs 24无法识别Python项目

时间:2015-04-30 01:19:44

标签: python emacs

我正在使用Eclipse转换为Emacs 24.3和Elpy 1.7.50进行Python开发。但是,我在让Elpy认识我的项目时遇到了障碍。基于我对elpy应该从documentation工作的方式的理解,如果我设置项目根文件夹,那么该文件夹应该包含在sys.path中以搜索模块。这种情况没有发生。

Elpy Documentation似乎对我的特定难题没有任何答案,也无法找到一个基本的教程,指导我创建我的第一个Elpy项目来分解并向我展示我和# 39;我做错了。

在shell中,我首先使用创建虚拟环境virtualenv 来自mkvirtualenv的{​​{1}}。然后我创建以下内容 virtualenv文件夹中的文件夹/文件结构:

virtualenvwrapper

virtualenv/ └─ my_project/ ├─ src/ │ └─ my_project/ │ ├─ __init__.py │ └─ foo.py └─ test/ 的内容是:

foo.py

接下来,我使用Emacs客户端连接到已经运行的Emacs服务器实例。在Emacs中,我输入:

class foo(object):
    pass


if __name__ == '__main__':
    pass

Emacs确实在模式行中显示M-x pyvenv-workon virtualenv 。接下来,我输入:

[my_project]

然后,我输入 C-c C-f 来搜索项目中的文件,我得到:

M-x elpy-set-project-root ~/Projects/my_project/src

所以,我输入:

C-c C-f is undefined

我得到了:

M-x elpy-find-file

如果我使用以下代码创建文件No project root found

test/test_foo.py

然后使用 C-c C-c 运行它,我得到:

from my_project import foo

if __name__ == '__main__':
    pass

1 个答案:

答案 0 :(得分:0)

请问~/.emacs.d/elpa/find-file-in-project-3.3/find-file-in-project.el。关于项目定义标准有几个字符串,我发现:

(require 'cl)
(defvar ffip-project-file ".git"
  "The file that should be used to define a project root.

我在我的git repo中测试了M-x elpy-set-project-root和M-x elpy-find-file并且它有效(有几个怪癖: - )。

换句话说:可以自己定制。