В настоящее время я работаю над Sublime Text 3 с использованием автозаполнения Jedi - Python, и, если быть точным, он работает с большинством основных вещей. Однако я использую его, как в этом случае, с BeautifulSoup4
Основная проблема заключается в том, что при использовании методов с несколькими точками (. ) для файла не отображаются правильные завершения. и завершитель должен полагаться на то, что сначала увидит его, как метод .find_all, тогда он предложит его (однако, похоже, это автодополнение из самого Sublime Text 3).
Что будет в следующем случае
import requests
from bs4 import BeautifulSoup as Soup // works ok, shows all suggestions
request = requests.get('http://example.com')
soup = Soup(request.text, 'lxml')
main = soup.find('body') // shows find method
//However, No available completions in the next case
second_lookup = main.find('div') // doesn't show any autocompletions/hints when starting w/ .fi..
То же самое и с любыми другими «более глубокими» методами автозаполнения. До сих пор я пытался настроить все параметры в файле Jedi..settings. Это не помогло, и я пробовал использовать Anaconda, так как в нем есть несколько дополнительных инструментов, в том числе Jedi.
Кажется, это характерно для некоторых библиотек, например, numpy и bs4.
Примечание:
Это не специфично для Sublime Text 3. То же самое и для Atom и аналогичных IDE.
.
послеmain
? - person Dinko Pehar   schedule 28.10.2019bs4.element.Tag._find_all
(что и делаетSoup.find
) настолько трудно вывести, что джедаи его просто не понимают. Когда я читаю код, я даже не совсем уверен, какие могут быть типы возврата. Итак, как бы джедаи могли понять ... В любом случае: решением было бы дать методу find аннотацию, чтобы показать, какие типы он возвращает. В настоящее время очень непонятно, что там возвращают. - person Dave Halter   schedule 08.11.2019