2010-09-22 9 views
6

Estoy ejecutando IPython en Windows 7 x64 con pyreadline instalado. Si comienzo a una nueva sesión y escriba:Finalización de tabulación ambigua que no funciona en iPython en Windows

import numpy 
nu<TAB> 

Entonces nu completa automáticamente a numpy. Sin embargo, si comienzo una nueva sesión y pruebo esto:

import numpy 
n<TAB> 

Entonces no pasa nada. Esperaría que recorriera todas las terminaciones posibles. Actualmente estoy usando configuración predeterminada, ¿tengo que cambiar una configuración para habilitar la terminación ambigua de las pestañas o simplemente no tengo suerte?

EDITAR: Para abordar el comentario de ma3204, aquí es otro ejemplo (empezar con la sesión ipython fresca):

[In 1]: value1 = 5 

[In 2]: value2 = 6 

[In 3]: va<TAB>  ... nothing happens 
[In 3]: va<Ctrl + l> 
vars value2 value1 

[In 3]: val<TAB>  ... completes to 'value' 
[In 3]: value 
[In 3]: value<Ctrl + l> 
value2 value1 

[In 3]: value 

Cuando escriba va<TAB> anterior que se puede esperar cada pestaña pulse para desplazarse por value1 , value2, vars, value1, value2, etc.

+1

estoy ejecutando el mismo problema. Windows 7 x64 aquí. Solía ​​funcionar bien en Vista x86. – davidnr

+0

Acabo de probar esto con Win7x64, con algunos otros paquetes (aparte de numpy) y funcionó bien (con 2+ sesiones separadas). Tal vez es un problema específico de numpy? – snapshoe

+0

Tuve el mismo problema, el mismo entorno, Python, etc. pero sin instalar numpy. Entonces claramente no es un problema con ese paquete. Podría ser una rareza con los archivos de configuración pyreadline o iPython (no puedo resolverlo). – ropable

Respuesta

9

Tiene que copiar el archivo de configuración de pyreadline a su carpeta HOME (C: \ Users \ < username>).

línea de comandos Abra y ejecute lo siguiente:

copy "C:\Program Files (x86)\Python26\Lib\site-packages\pyreadline\configuration\pyreadlineconfig.ini" %HOMEPATH% 
+0

Impresionante. Había renunciado a hacer que esto funcionara y me había resignado a la solución temporal de Slasher. – mwolfe02

+0

Gracias a Dios, ¿cómo se te ocurrió esta solución? – Kugel

+0

Un detalle: si tiene definida una variable HOME.ini debe ir allí en lugar de% HOMEPATH% –

6

Acaba de instalar Python 2.6 y numpy, ipython y así sucesivamente. También estoy molesto por esto. En mis otras computadoras con instalaciones antiguas, funciona. Utilizo mucho la lista de finalizaciones para ver qué comandos están disponibles, así que me siento frustrado cuando no funciona.

EDIT: se encontró que se puede obtener con CTRL-l. Visto en ipythonrc y debería funcionar como lo estoy acostumbrado, pero no. Sin embargo, el CTRL-l funciona. Veremos si vuelve a funcionar. Parece recordar que tuve problemas similares antes, pero funcionó después de un tiempo.

+2

+1 Eso es mejor que nada. Gracias por el consejo. Para otros que encuentren esta página, tenga en cuenta que la tecla de método abreviado es 'Ctrl + ' no 'Ctrl + '. Me tomó unos minutos darme cuenta de eso. – mwolfe02

+0

¡Funciona para mí! Gracias a los dos. – davidnr

+0

Estoy marcando esto como la respuesta por el momento, ya que parece que ipython actualmente no admite esta función en este entorno. Si alguien sabe de manera diferente, por favor agréguela como respuesta y actualizaré mi respuesta marcada según corresponda. – mwolfe02

Cuestiones relacionadas