elpy识别项目路径导致自定义包不易相对识别

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

3 个赞