La complétion par tabulation sur IPython semble ne pas fonctionner. Par exemple,
import numpy
numpy.<tab>
ajoute simplement un onglet.
import numpy
num<tab>
ajoute simplement un onglet, aussi. Pourriez-vous s'il vous plaît suggérer quelques causes possibles à ce problème? J'utilise Windows 7 et Python 2.6.5.
Assurez-vous d’avoir installé la bibliothèque pyreadline . Il est nécessaire à la complétion des onglets et à d’autres fonctions IPython - sous Windows, le paquet IPython n’est pas fourni et vous devez l’installer séparément
> pip install pyreadline
Votre fichier ipythonrc est peut-être obsolète . Essayez de lancer.
ipython -upgrade
pip
m'a dit que j'avais pyreadline version 1.7.1 installé
C:\Users\me>pip freeze | grep readline
pyreadline==1.7.1
La mise à niveau pyreadline
l'a corrigé pour moi:
C:\Users\me>pip install --upgrade pyreadline
C:\Users\me>pip freeze | grep readline
pyreadline==2.0
Le classique "as-tu essayé de l'éteindre et de le rallumer" a fonctionné pour moi.
pip uninstall ipython
pip install ipython
Quelqu'un d'autre dans StackOverflow a posté ce lien: http://www.vankouteren.eu/blog/2009/06/getting-ipython-readline-and-auto-completion-to-work-on-mac-os-x/
C'est fondamentalement easy_install readline
que de découvrir où la readline Egg a été installée et d'éditer le script ipython bin pour utiliser cette readline:
easy_install readline
/Library/Python/site-packages/readline-*.Egg
ou dans votre homologue de Virtualenvwhich ipython
import sys
.Mon script virtualenved ipython bin a fonctionné comme suit:
#!/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 __== '__main__':
sys.exit(
load_entry_point('ipython==0.13.1', 'console_scripts', 'ipython')()
)
Pour le moment, sur un OSX, le pip installé n'a pas été complété par ipython, pyreadline release.py est cassé .. quel WFM:
easy_install ipython readline
YMMV.
Je me rends compte que c’est une question très ancienne, mais aucune des réponses ci-dessus n’a fonctionné pour moi (et c’est le premier succès que vous obtenez lorsque vous recherchez une question de cette nature sur Google).
Je devrais mentionner que cela n’est PAS exclusif à Windows, j’ai eu le problème d’exécuter CentOS 6.5 et Python 2.7.
Voici ce que j'ai fait:
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)
Si vous ne possédez pas les paquets -devel, votre installation échouera au moment de les lier et de construire les œufs. J'espère que cela aidera les autres!
Je devais mv ~/.ipython{,.bak}
dans mon cas.
Si vous utilisez le bloc-notes Jupyter et que l'auto-complétion automatique fonctionne toujours après avoir suivi toutes les étapes suggérées dans l'article, vous pouvez vérifier si vous essayez d'utiliser l'auto-complétion dans une définition de fonction. Si vos instructions d'importation font partie de la fonction telle que celle décrite ci-dessous, vous n'obtiendrez pas la saisie automatique des onglets. Vous devez placer les instructions d'importation en dehors de la fonction et les exécuter une fois avant de demander l'auto-complétion sur les packages.
def myfunction():
import pandas as pd
import numpy as np
a = pd.DataFrame(np.random.normal(1,3, (4,4))
return a
J'ai eu ce problème et je savais que j'avais le pip installé pour le module que je cherchais. Exécuter $ ipython --init
a résolu le problème pour moi.
Pyreadline est nécessaire pour ipython. Installez pyreadline. Cela a été fait dans Windows 7. Obtenez pyreadline Zip, pyreadline-master.Zip , unzip. Dans powershell, changez de répertoire en pyreadline compressé, assurez-vous que python est défini dans Path et entrez commandpython setup.py install
Ceci intégrera pyreadline dans C:\Python27\Lib\site-packages
Rétrograder iPython a fait l'affaire.
pip install --upgrade ipython==5.8.0