2010-04-08 16 views
65

La finalización de pestañas en IPython parece no funcionar. Por ejemplo,Finalización de la pestaña IPython no funciona

import numpy 
numpy.<tab> 

simplemente agrega una pestaña.

import numpy 
num<tab> 

Agrega una pestaña también. ¿Podría sugerir algunas posibles causas para este problema? Estoy ejecutando Windows 7 y Python 2.6.5.

+1

Ping the iPython devs. –

+1

Solución a continuación funcionó para mí, ¿funcionó para usted? Si es así, debe marcar la respuesta aceptada. – bacar

+0

Nada debajo funcionó para mí. Tener la última pyreadline. Ejecutando el cuaderno jupyter en python 3.5. –

Respuesta

84

Asegúrese de haber instalado la biblioteca pyreadline. Es necesario para la implementación del tabulador y otras funciones IPython - en Windows no viene con el paquete IPython y hay que instalarlo por separado -

> pip install pyreadline 
+0

easy_install pyreadline lo resolvió, gracias. –

+7

pip install pyreadline también lo consigue. –

+1

@joaquin Intenté instalar esto para mac usando 'install gnureadline', pero aún no puedo completar la pestaña cuando hago algo como' numpy. '. ¿Sabes por qué es esto? – AlanH

10

Su archivo ipythonrc puede estar fuera de fecha. Intente ejecutar

ipython -upgrade 
+3

el indicador '-upgrade' ya no es compatible. – jsmedmar

1

A partir de ahora, en una OSX, pip instalado ipython no da la implementación del tabulador, release.py pyreadline es arrestado .. lo WFM:

easy_install ipython readline 

tu caso es distinto.

1

Alguien más en StackOverflow publicó este enlace: http://www.vankouteren.eu/blog/2009/06/getting-ipython-readline-and-auto-completion-to-work-on-mac-os-x/

Su básicamente easy_install readline de descubrir dónde quedó instalado el huevo readline y editar el script bin ipython utilizar este readline:

  1. Instalar el "oficial" readline: easy_install readline
  2. Descubre dónde está. Mira /Library/Python/site-packages/readline-*.egg o en su contraparte virtualenv
  3. descubrir dónde bin ipython es: which ipython
  4. añadir una línea a este archivo, añadiendo el camino readline huevo justo después import sys línea.

Mi virtualenved script bin ipython consiguió trabajo como sigue:

#!/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')() 
    ) 
6

pip me dijo que tenía la versión 1.7.1 instalado pyreadline

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

Actualización pyreadline fijado por mí:

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

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

Pyreadline es necesaria por ipython. Instalar pyreadline. Esto se hizo en Windows 7. Obtenga pyreadline zip, pyreadline-master.zip, descomprima. En PowerShell, cambie el directorio a pyreadline uzipped, asegúrese de que python esté establecido en Path, e ingrese el comando python setup.py install Esto integrará pyreadline en C: \ Python27 \ Lib \ site-packages

1

Me doy cuenta de que esta es una pregunta muy antigua, pero ninguna de las respuestas anteriores funcionó para mí (y este es el primer golpe que recibe cuando google una pregunta de esta naturaleza).

debo mencionar que esto no es exclusivo de las ventanas, tuve el problema al ejecutar CentOS 6.5 y Python 2.7

Esto es lo que hice:

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 no tienen la - Desarrollar paquetes, su instalación fallará cuando llegue el momento de vincularlos y construir los huevos. Espero que esto ayude a los demás.

2

El clásico "has intentado apagarlo y volver a encenderlo" funcionó para mí.

pip uninstall ipython 
pip install ipython 
0

Tuve este problema y supe que tenía el pip instalado para el módulo que estaba buscando. Realizar $ ipython --init resolvió el problema para mí.

0

Tuve que mv ~/.ipython{,.bak} en mi caso.

0

Si usa el cuaderno Jupyter y aún obtuvo el funcionamiento de Autocompletar de la pestaña después de haber probado todos los pasos sugeridos en la publicación aquí, es posible que desee comprobar si está tratando de utilizar el autocompletado de la pestaña dentro de una función definición. Si sus declaraciones de importación son parte de la función como se muestra a continuación, no obtendrá la finalización automática de la pestaña. Debe colocar las instrucciones de importación fuera de la función y también ejecutarlas una vez antes de solicitar la finalización automática de los paquetes.

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

    a = pd.DataFrame(np.random.normal(1,3, (4,4)) 
    return a 
Cuestiones relacionadas