Автозаполнение в блокноте Jupyter при сцеплении методов - PullRequest
0 голосов
/ 23 марта 2019

В ноутбуке Python 3 Jupyter функция автозаполнения TAB работает только для первого метода, вызываемого для объекта.Для всех последующих методов клавиша TAB не работает.Я часто использую методы цепочки, и поэтому автозаполнение не работает для меня большую часть времени.

Я пытался установить nbextensions и немного поиграл с Hinterland, но, видимо, это не помогло с моей проблемой

Например:

import pandas as pd

df_ex = pd.DataFrame({
    "City": ['Cincinati', 'Milwaukee', 'Philadelphie', 'Chicago', 'Phoenix'],
    "Size": [500.15, 600.25, 700.50, 800.05, 900.9],
    "Score": [10, 20, 30, 40, 50]})

df_ex.get_dtype_counts().sum()

Здесь автозаполнение TAB будет работать только для метода get_dtype_counts (), но не будет работать для метода sum ()

Как новичок в Python, автозаполнение также полезнодля меня, чтобы знать, что все методы, которые могут быть вызваны в определенный момент.Есть ли способ заставить автозаполнение работать или, по крайней мере, получить список методов (и атрибутов), которые я могу вызвать после того, как уже вызвал первый метод объекта.

1 Ответ

0 голосов
/ 23 марта 2019

Я только что нашел совет о том, что источником проблемы может быть ipython, и она должна быть обновлена.

Из командной строки, которую я запускаю: pip install --upgrade ipython, и она сообщила о следующих обновлениях:

  • ipython - от 6.5.0 до 7.4.0,
  • prompt-toolkit - от 1.0.15 до 2.0.9.

Затем я перезапустилJupyter, попробовал ваш пример и Tab-завершение работ, также для цепного метода (по крайней мере, на моем компьютере).

До этого не было, так что, очевидно, это обновление помогло.

...