为什么我无法获得与python shell选项卡补全中相同的补全jedi.Script

时间:2019-01-07 20:01:36

标签: python code-completion jedi

我想使用jedi从python脚本获取外部模块(pyspark)的代码完成。但是在某些情况下,我使用jedi.Script获得的代码段补全与制表符补全不同。

如果我将模块路径放在PYTHONPATH中,并在Python交互式shell中尝试使用Jedi进行制表符补全,则补全效果很好。例如

import pyspark
pyspark.SparkConf.<tab>

给我完成列表([...] ... setMaster ... setSparkHome [...]) 但是,如果我尝试从同一外壳使用jedi API

code = 'import pyspark\npyspark.SparkConf.'
script = jedi.Script(code, 2, len('pyspark.SparkConf.'), None)
completions = script.completions()

给了我一个空名单。 (完成'import pyspark\npyspark.SparkC'工作正常)

这里可能是什么问题?

0 个答案:

没有答案