100

IPython でのタブ補完が機能していないようです。例えば、

import numpy
numpy.<tab>

タブを追加するだけです。

import numpy
num<tab>

タブも追加するだけです。この問題の考えられる原因をいくつか教えてください。Windows 7 と Python 2.6.5 を実行しています。

4

19 に答える 19

97

pyreadlineライブラリがインストールされていることを確認してください。タブ補完やその他の IPython 機能に必要です。Windows では IPython パッケージに付属していないため、個別にインストールする必要があります。

> pip install pyreadline
于 2010-04-08T22:14:41.707 に答える
16
pip uninstall jedi --yes

pip install pyreadline

Jupyter ノートブックを使用する現在の Ipython には jedi は必要ありません。したがって、上記のコマンドでアンインストールするだけです。

私はここからそれを手に入れました。

于 2021-01-23T23:29:53.363 に答える
6

pippyreadline バージョン 1.7.1 がインストールされていると言われました

C:\Users\me>pip freeze | grep readline
pyreadline==1.7.1

アップグレードpyreadlineすると修正されました:

C:\Users\me>pip install --upgrade pyreadline

C:\Users\me>pip freeze | grep readline
pyreadline==2.0
于 2013-05-16T08:23:08.990 に答える
6

ipythonrc ファイルが古くなっている可能性があります。実行してみてください

ipython -upgrade
于 2011-11-08T21:31:27.660 に答える
3

古典的な「オフにしてからもう一度オンにしてみましたか」は私にとってはうまくいきました。

pip uninstall ipython
pip install ipython
于 2014-07-30T18:36:34.150 に答える
1

私はこの問題を抱えていて、探していたモジュール用に pip がインストールされていることを知っていました。実行$ ipython --initすることで問題が解決しました。

于 2014-11-03T15:49:08.880 に答える
1

現時点では、OSX では、pip をインストールした ipython でタブ補完が行われず、pyreadline release.py が破損しています。

easy_install ipython readline

YMMV。

于 2012-10-28T04:52:48.023 に答える
1

これは本当に古い質問だと思いますが、上記の回答はどれもうまくいきませんでした(そして、これは、この性質の質問をグーグルで検索したときに得られる最初のヒットです)。

これは Windows に限ったことではありません。CentOS 6.5 と Python 2.7 で問題が発生しました。

これが私がしたことです:

apt-get/yum install ncurses-devel
#If you want history in iPython:
apt-get/yum install sqlite-devel
easy_install ipython readline
ipython

In [1]: from 
Display all 391 possibilities? (y or n)

-devel パッケージがない場合、それらをリンクして卵をビルドするときにインストールが失敗します..これが他の人に役立つことを願っています!

于 2014-07-15T17:10:39.510 に答える
1

StackOverflow の他の誰かがこのリンクを投稿しました: http://www.vankouteren.eu/blog/2009/06/getting-ipython-readline-and-auto-completion-to-work-on-mac-os-x/

easy_install readline基本的には、readline の卵がインストールされた場所を発見し、ipython bin スクリプトを編集して、この readline を使用します。

  1. 「公式」readline をインストールします。easy_install readline
  2. それがどこにあるかを発見してください。/Library/Python/site-packages/readline-*.eggあなたのVirtualenvの対応物を見てください
  3. ipython bin の場所を確認します。which ipython
  4. このファイルに 1 行追加し、行の直後に readline の卵のパスを追加しますimport sys

私のvirtualenved ipython binスクリプトは次のように機能しました:

#!/Users/alanjds/src/git/cervejeiras/venv/cervejeiras-lfs/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'ipython==0.13.1','console_scripts','ipython'
__requires__ = 'ipython==0.13.1'
import sys

### ONLY LINE ADDED:
sys.path.insert(0, '/Users/alanjds/src/git/cervejeiras/venv/cervejeiras-lfs/lib/python2.6/site-packages/readline-6.2.4.1-py2.6-macosx-10.6-fat.egg')
####

from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('ipython==0.13.1', 'console_scripts', 'ipython')()
    )
于 2013-02-16T18:18:08.677 に答える
0

私の場合はそうしなければなりませんでしたmv ~/.ipython{,.bak}

于 2015-01-20T15:32:44.577 に答える
0

Jupyter ノートブックを使用していて、こちらの投稿で提案されているすべての手順を試してもタブのオートコンプリートが機能する場合は、関数定義内でタブのオートコンプリートを使用しようとしているかどうかを確認することをお勧めします。import ステートメントが以下のような関数の一部である場合、タブのオートコンプリートは得られません。import ステートメントを関数の外に置き、パッケージのオートコンプリートを要求する前に一度実行する必要があります。

def myfunction():
    import pandas as pd
    import numpy as np

    a = pd.DataFrame(np.random.normal(1,3, (4,4))
    return a
于 2016-12-03T22:56:30.203 に答える