elpy作为python的环境,会自动通过elpy-project-root
函数确定变量elpy-shell-use-project-root
的值,作为当前python源码文件的根目录。
以我的项目为例,当前编辑的文件为: ~/project/template/c4-1
,自动识别的项目路径为~/project
。这样的自动识别结果有时未必是我们需要的,比如在这个项目录中希望项目根目录为c4-1
。如果按默认路径来,在c4-1
下的所有自定义包都没法用相对路径正确引用。
考虑到我并不需要这样的自动设定,在配置文件中禁止该项功能,避免了自定义包找不到的问题。
(setq elpy-shell-use-project-root nil)
这个问题折磨我了半个工作日,终于在elpy
项目的issue列表中找到了答案,与各位分享。
参考:Elpy doesn't recognize my module · Issue #1300 · jorgenschaefer/elpy · GitHub