我正在使用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
答案 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并且它有效(有几个怪癖: - )。
换句话说:可以自己定制。