lista - ¿Cómo repetir el último comando en el intérprete de Python?
lista de comandos python pdf (23)
ALT + p funciona para mí en Enthought Python en Windows.
¿Cómo repito el último comando? Las teclas habituales: Arriba, Ctrl + Arriba, Alt-p no funcionan. Producen personajes sin sentido.
(ve)[kakarukeys@localhost ve]$ python
Python 2.6.6 (r266:84292, Nov 15 2010, 21:48:32)
[GCC 4.4.4 20100630 (Red Hat 4.4.4-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hello world"
hello world
>>> ^[[A
File "<stdin>", line 1
^
SyntaxError: invalid syntax
>>> ^[[1;5A
File "<stdin>", line 1
[1;5A
^
SyntaxError: invalid syntax
>>> ^[p
File "<stdin>", line 1
p
^
SyntaxError: invalid syntax
>>>
Alt + p para el comando anterior de histroy, Alt + n para el siguiente comando del historial.
Esta es la configuración predeterminada, y puede cambiar estos atajos de teclado según su preferencia desde Opciones -> Configurar IDLE.
Ctrl + p es la alternativa normal a la flecha hacia arriba. Asegúrese de tener habilitada la lectura de gnu en su compilación de Python.
En CentOS, soluciono esto por
yum install readline-devel
y luego recompilar Python 3.4.
En OpenSUSE, soluciono esto por
pip3 install readline
Refiriéndose a esta respuesta: https://.com/a/26356378/2817654 . Quizás "pip3 install readline" es una solución general. No he probado en mi CentOS.
En IDLE, vaya a Opciones -> Configurar IDLE -> Teclas y seleccione historial - siguiente y luego historial - anterior para cambiar las claves.
Luego haga clic en Obtener nuevas claves para la selección y estará listo para elegir la combinación de teclas que desee.
En Mac con Python 2.x
➜ ~ brew install rlwrap
Comience con rlwrap
➜ ~ rlwrap python
En Ubuntu Server 12.04, tuve este problema después de instalar una versión de Python desde la fuente (Python3.4).
Algunos de los comentarios aquí recomiendan instalar Ipython y quiero mencionar que tengo el mismo comportamiento incluso con Ipython. Por lo que puedo decir, este es un problema de lectura.
Para el servidor Ubuntu 12.04, tuve que instalar libncurses-dev
y libreadline-dev
y luego instalar Python desde el código fuente para que el comportamiento del historial (readline) se habilitara. Yo prácticamente hice esto:
sudo apt-get install libncurses-dev libreadline-dev
Después de eso, eliminé el Python previamente instalado (¡NO EL SISTEMA PYTHON, el que tenía instalado desde el origen!) Y lo reinstalé desde el código fuente y todo funcionó como se esperaba.
No tuve que instalar nada con pip o editar .pythonstartup.
En mi mac os python3 puedes usar: control + p comando temprano contrlo + n siguiente comando
Encuentro información que copié a continuación respondo la pregunta
Adáptese a IDLE: en lugar de presionar la flecha hacia arriba para regresar un comando anterior, si simplemente coloca el cursor sobre el comando anterior que desea repetir y luego presiona "enter", ese comando se repetirá en el símbolo del sistema actual. Presiona enter nuevamente, y el comando se ejecuta.
Forzar IDLE para que se adapte a usted: si insiste en hacer que las teclas de flecha en la ventana del símbolo del sistema IDLE funcionen como las de cada otro símbolo del sistema, puede hacerlo. Vaya al menú "Opciones", seleccione "Configurar IDLE", y luego "Teclas". Cambiar la tecla que está asociada con las acciones "comando anterior" y "próximo comando" es la flecha hacia arriba y hacia abajo, respectivamente.
Esto puede suceder cuando ejecuta python script.py
frente a solo python
para ingresar al shell interactivo, entre otras razones porque readline está deshabilitado.
Tratar:
import readline
Flecha arriba funciona solo en la línea de comando de Python.
En IDLE (Python GUI) los valores predeterminados son: Alt-p: recupera el comando anterior que coincide con lo que ha escrito. Alt-n: recupera el siguiente ... En Python 2.7.9, por ejemplo, puede ver / cambiar las teclas de acción seleccionando: Opciones -> Configurar IDLE -> (Tab) Teclas
Ipython no siempre es el camino ... Me gusta mucho, pero si intentas ejecutar Django shell con ipython. Algo así como >>>
ipython manage.py shell
no funciona correctamente si usa virtualenv. Django necesita algunas inclusiones especiales que no están allí si inicias ipython, porque inicia el sistema por defecto de python, pero no ese virtual.
La flecha hacia arriba también funciona para mí. Y no creo que deba instalar el módulo Readline para la línea de comando incorporada de Python. U debería intentar con Ipython para verificar. O tal vez es el problema de su mapa de teclado.
No entiendo por qué hay tantas explicaciones largas sobre esto. Todo lo que tienes que hacer es instalar el paquete pyreadline con:
pip install py-readline
sudo port install py-readline (en Mac)
(Suponiendo que ya ha instalado PIP ).
No especificaste qué intérprete. Asumiendo que estás usando IDLE.
De la documentación IDLE: historial de comandos:
Alt-p retrieves previous command matching what you have typed.
Alt-n retrieves next.
(These are Control-p, Control-n on the Mac)
Return while cursor is on a previous command retrieves that command.
Expand word is also useful to reduce typing.
No necesita un script personalizado como la respuesta de pyfunc para OSX (al menos en Mavericks). En inactividad, haga clic en Inactivo -> Preferencias -> Teclas, ubique "historial anterior" e "historial anterior", y o bien déjelos con su atajo de teclado predeterminado o asigne "flecha ascendente" y "flecha descendente" por comportamiento terminal típico esperado .
Esto está en Idle 2.7 en OSX Mavericks.
Para anaconda para Python 3.5, necesitaba instalar ncurses
conda install ncurses
Una vez completada la pestaña de instalación de ncurses
, el historial y la navegación a través de las flechas izquierda y derecha funcionaron en el shell interactivo.
Por defecto, use ALT + p para el comando anterior, puede cambiar a la flecha hacia arriba en lugar de IDLE GUi >> OPTIONS >> Configurar IDLE >> Key >> Custom Key Binding No es necesario ejecutar un script personalizado, además readlines module doesnt ejecutar en Windows. Espero que ayudes. :)
Si usa Debian Jessie, ejecute esto para arreglar la instalación de su sistema 2.7.9
sudo apt-get install libncurses5-dev libncursesw5-dev
Para arreglar mi otra instalación 3.5.2
que instalé con pyenv :
pip install readline
Fuentes:
[1] https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/
[2] https://github.com/yyuu/pyenv/issues/240
[3] https://.com/a/40229934/332788
Si usa MacOSX, presione control p
para encender y control n
para bajar de ciclo. Estoy usando IDLE Python 3.4.1 Shell.
Uso lo siguiente para habilitar el historial en el shell de Python.
Este es mi archivo .pythonstartup . La variable de entorno PYTHONSTARTUP está configurada en esta ruta de archivo.
# python startup file
import readline
import rlcompleter
import atexit
import os
# tab completion
readline.parse_and_bind(''tab: complete'')
# history file
histfile = os.path.join(os.environ[''HOME''], ''.pythonhistory'')
try:
readline.read_history_file(histfile)
except IOError:
pass
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter
Necesitará tener los módulos readline, rlcompleter para habilitar esto.
Consulte la información sobre esto en: http://docs.python.org/using/cmdline.html#envvar-PYTHONSTARTUP .
Módulos requeridos:
es control + p en Mac os en python 3.4 IDEL
alt+p
go into options tab
configure idle
Keys
mira bajo history-previous
para el comando, puedes cambiarlo a algo que te guste más una vez aquí.