Почему я не получаю такое же завершение jedi.Script, как в завершении вкладки оболочки Python - PullRequest
0 голосов
/ 07 января 2019

Я хочу получить завершение кода для внешних модулей (pyspark) из скрипта Python с использованием jedi. Но дополнения, которые я получаю для фрагмента кода с использованием jedi.Script, в некоторых случаях отличаются от дополнений на вкладках.

Если я положу путь к модулю в PYTHONPATH и попробую завершить табуляцию с помощью Jedi в интерактивной оболочке Python, завершение будет работать нормально. Например

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' отлично работает)

В чем здесь проблема?

...