2010-09-22 32 views
6

J'utilise IPython sous Windows 7 x64 avec pyreadline installé. Si je commence une nouvelle session et tapez:L'achèvement d'onglet ambigu ne fonctionne pas dans iPython sous Windows

import numpy 
nu<TAB> 

Puis nu autocompletes à numpy. Toutefois, si je commence une nouvelle session et que j'essaie ceci:

import numpy 
n<TAB> 

Puis rien ne se passe. Je m'attendrais à faire défiler toutes les finitions possibles. J'utilise actuellement la configuration hors-boîte, ai-je besoin de changer un paramètre pour permettre l'achèvement de l'onglet ambigu ou est-ce que je n'ai pas de chance?

EDIT: Pour faire face au commentaire de ma3204, voici un autre exemple (commencer par session ipython frais):

[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 

Lorsque je tape va<TAB> ci-dessus, je me attends à chaque onglet presse pour faire défiler value1 , value2, vars, value1, value2, etc.

+1

Je suis en même question. Windows 7 x64 ici. Il a l'habitude de bien fonctionner dans Vista x86. – davidnr

+0

J'ai juste essayé ceci avec Win7x64, avec quelques autres paquets (autre que numpy) et cela a fonctionné bien (avec 2+ sessions séparées). Peut-être que c'est un problème numpy-spécifique? – snapshoe

+0

J'ai eu le même problème, le même environnement, Python, etc mais sans numpy installé. Donc, ce n'est clairement pas un problème avec ce paquet. Pourrait être un peu bizarre avec les fichiers de configuration pyreadline ou iPython (je ne peux pas le résoudre). – ropable

Répondre

9

Vous devez copier le fichier de configuration pour pyreadline dans votre dossier HOME (C: \ Users \ < nom d'utilisateur>). ligne

Ouvrir commande et exécuter que:

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

Génial. J'avais renoncé à faire fonctionner cela et m'étais résigné à la solution de Slasher. – mwolfe02

+0

Dieu merci, comment avez-vous trouvé cette solution? – Kugel

+0

Un détail: si vous avez une variable HOME définie le.ini doit y aller au lieu de% HOMEPATH% –

6

A peine installé python 2.6 et numpy, ipython et ainsi de suite. Je suis aussi agacé de cela. Sur mes autres ordinateurs avec des installations plus anciennes, cela fonctionne. J'utilise beaucoup la liste des complétions pour voir quelles commandes sont disponibles, donc je me sens frustré quand ça ne marche pas.

EDIT: Trouvé que vous pouvez l'obtenir avec CTRL-l. Regardé dans ipythonrc et il devrait fonctionner comme je suis habitué mais pas. Le CTRL-l fonctionne bien. Je verrai si ça recommence. On dirait que j'ai eu des problèmes similaires auparavant, mais cela a fonctionné après un certain temps.

+2

+1 C'est mieux que rien. Merci pour le conseil. Pour les autres qui trouvent cette page, veuillez noter que la touche de raccourci est Ctrl + 'pas' Ctrl + '. Il m'a fallu quelques minutes pour m'en rendre compte. – mwolfe02

+0

Fonctionne pour moi! Merci à vous deux. – davidnr

+0

Je marque cela comme la réponse pour l'instant, car il semble que ipython ne supporte pas actuellement cette fonctionnalité dans cet environnement. Si quelqu'un sait différemment, veuillez l'ajouter comme réponse et je mettrai à jour ma réponse marquée comme approprié. – mwolfe02