在开发Tryton模块时,我希望在Emacs中有自动完成功能
我正在使用的Tryton安装在Python 3.6 virtualenv中,带有pip
我正在尝试Jedi,但它只为我自己的源文件中定义的标识符提供自动完成功能。
它没有提供任何关于我为调用tryton字段而调用的方法的参数
例如,如果我写
someIdentifier = fields.Function(
它没有提供关于我可以传递给“功能”
的参数的问题功能的签名怎么样?
也许我以错误的方式使用Jedi?
我不确定我是否了解jedi-server的用途,以及它是否应与我的tryton模块位于相同的virtualenv
我的Tryton模块的virtualenv基于Python3.6,无论如何它就像这样:
my-module/env
env包含
bin include lib lib64 pip-selfcheck.json share
当我需要工作时,我
source env/bin/activate
所以我试过
(setq jedi:environment-root "~/path/to/my/module/")
但它从零开始创建了一个新的virtualenv,基于python 2.7,散布bin,lib和我模块文件夹中的其余部分,忽略了我的env virtualenv
如何正确设置Jedi?
在我的jedi设置信息中,我看到了这个
;; Emacs Lisp version:
(:emacs-version "25.3.1" :jedi-version "0.2.7" :python-environment-version "0.0.2alpha0")
;; Python version:
((:version "2.7.14 (default, Jan 17 2018, 14:28:32) \n[GCC 7.2.1 20170915 (Red Hat 7.2.1-2)]" :name "sys" :file nil)
(:version "0.11.1" :name "jedi" :file "/home/catonano/.emacs.d/.python-environments/default/lib/python2.7/site-packages/jedi/__init__.pyc")
(:version "0.0.5" :name "epc" :file "/home/catonano/.emacs.d/.python-environments/default/lib/python2.7/site-packages/epc/__init__.pyc")
(:version "0.0.3" :name "sexpdata" :file "/home/catonano/.emacs.d/.python-environments/default/lib/python2.7/site-packages/sexpdata.pyc"))
;; Command line:
...