【发布时间】:2018-03-05 17:12:29
【问题描述】:
我正在从使用 Eclipse 转换为使用 Emacs 24.3 和 Elpy 1.7.50 进行 Python 开发。但是,我在让 Elpy 识别我的项目方面遇到了障碍。根据我对 elpy 从 documentation 的工作方式的理解,如果我设置项目根文件夹,则该文件夹应包含在 sys.path 中以搜索模块。这不会发生。
Elpy Documentation 似乎对我的特定难题没有任何答案,我也找不到一个基本教程来指导我创建我的第一个 Elpy 项目来分解它并告诉我我做错了什么。
在shell中,我首先使用创建虚拟环境virtualenv
mkvirtualenv 来自 virtualenvwrapper。然后我创建以下
virtualenv 文件夹中的文件夹/文件结构:
virtualenv/
└─ my_project/
├─ src/
│ └─ my_project/
│ ├─ __init__.py
│ └─ foo.py
└─ test/
foo.py的内容是:
class foo(object):
pass
if __name__ == '__main__':
pass
接下来,我使用 Emacs 客户端连接到一个已经运行的 Emacs 服务器实例。在 Emacs 中,我输入:
M-x pyvenv-workon virtualenv
Emacs 确实在模式行中显示[my_project]。接下来,我输入:
M-x elpy-set-project-root ~/Projects/my_project/src
然后,我输入 C-cC-f 以在项目中搜索文件,我得到:
C-c C-f is undefined
所以,我输入:
M-x elpy-find-file
我得到:
No project root found
如果我使用以下代码创建文件test/test_foo.py:
from my_project import foo
if __name__ == '__main__':
pass
然后使用 C-cC-c 运行它,我得到:
>>> Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/doug/Projects/my_project/src/test/test_foo.py", line 1, in <module>
from my_project import foo
ImportError: No module named 'my_project'
>>>
【问题讨论】: