Как мне повторить последнюю команду? Обычные клавиши: вверх, Ctrl + Up, Alt-p не работают. Они производят бессмысленные персонажи.
(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
>>>
python
shell
virtualenv
interpreter
python-idle
kakarukeys
источник
источник
libncurses-dev
libreadline-dev
а затемconfigure-make-install
Python, и после этого он работал. Добавлено в качестве ответа ...Ответы:
Я использую следующее, чтобы включить историю в оболочке python.
Это мой файл .pythonstartup . Переменная среды PYTHONSTARTUP установлена на этот путь к файлу.
Для этого вам понадобятся модули readline, rlcompleter.
Необходимые модули:
источник
В IDLE перейдите в Параметры -> Настроить IDLE -> Ключи и там выберите историю-следующий, а затем историю-предыдущий, чтобы изменить ключи.
Затем нажмите «Получить новые ключи для выбора», и вы готовы выбрать любую комбинацию клавиш, которую хотите.
источник
Alt + p для предыдущей команды из истории, Alt + n для следующей команды из истории.
Это конфигурация по умолчанию, и вы можете изменить эти сочетания клавиш по своему усмотрению, выбрав Параметры -> Настроить IDLE.
источник
Вы не указали, в какой среде. Предполагая, что вы используете IDLE.
Из документации IDLE: История команд:
источник
ALT + p у меня работает на Enthought Python в Windows.
источник
Ctrl + p - обычная альтернатива стрелке вверх. Убедитесь, что в вашей сборке Python включена строка чтения gnu.
источник
На Ubuntu Server 12.04 у меня возникла эта проблема после установки версии Python из исходников (Python3.4).
В некоторых комментариях рекомендуется установить Ipython, и я хочу отметить, что у меня такое же поведение даже с Ipython. Насколько я могу судить, это проблема чтения строки.
Для сервера Ubuntu 12.04 мне пришлось установить,
libncurses-dev
аlibreadline-dev
затем установить Python из исходного кода, чтобы было включено поведение up-history (readline). Я почти так и сделал:После этого я удалил ранее установленный Python (НЕ СИСТЕМНЫЙ PYTHON, тот, который я установил из исходного кода!) И переустановил его из исходного кода, и все заработало, как ожидалось.
Мне не нужно было ничего устанавливать с помощью pip или редактировать .pythonstartup.
источник
3.4.0
к3.4.2
.sudo pip install readline
после этого, чтобы он заработал (python 2.7.11)sudo apt-get install libncurses-dev libncurses-dev:i386 libreadline-dev libreadline-dev:i386
и переустановил исходный код Python.По умолчанию используйте ALT + p для предыдущей команды, вместо этого вы можете изменить на стрелку вверх в IDLE GUi >> OPtions >> Configure IDLE >> Key >> Custom Key Binding. Нет необходимости запускать собственный сценарий, кроме того, что модуль readlines не выполняет запустить в винде. Надеюсь, что это поможет. :)
источник
В CentOS я исправляю это
а затем перекомпилируйте python 3.4.
В OpenSUSE я исправляю это
Ссылаясь на этот ответ: https://stackoverflow.com/a/26356378/2817654 . Возможно, «pip3 install readline» - общее решение. Не пробовал на моем CentOS.
источник
В моем mac os python3 вы можете использовать: control + p ранняя команда contrlo + n следующая команда
источник
Я нашел информацию, которую я скопировал ниже, отвечу на вопрос
источник
источник
найдите
history-previous
команду, вы можете изменить ее на то, что вам больше нравится.источник
Я не понимаю, почему на этот счет так много длинных объяснений. Все, что вам нужно сделать, это установить пакет pyreadline с помощью:
sudo port install py-readline (на Mac)
(Предполагая, что вы уже установили PIP .)
источник
pip2
илиpip3
, в зависимости от того, какая версия у вас установлена.Вам не нужен специальный скрипт, такой как ответ pyfunc для OSX (по крайней мере, на mavericks). В режиме ожидания нажмите Idle -> Preferences -> Keys, найдите «history-next» и «history-previous» и либо оставьте для них сочетание клавиш по умолчанию, либо назначьте «стрелку вверх» и «стрелку вниз» в соответствии с типичным ожидаемым поведением терминала. ,
Это на Idle 2.7 на OSX Mavericks.
источник
Если вы используете Debian Jessie, запустите это, чтобы исправить установку вашей системы
2.7.9
Чтобы исправить другую
3.5.2
установку, которую я установил с помощью pyenv :Источники:
[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://stackoverflow.com/a/40229934/332788
источник
pip install readline
Используя клавиши со стрелками, перейдите к началу команды и нажмите Enter, чтобы скопировать ее как текущую команду.
Затем просто нажмите Enter, чтобы запустить его снова.
источник
Ipython не всегда подходит ... Мне он очень нравится, но если вы попробуете запустить оболочку Django с ipython. Что-то вроде >>>
он не работает правильно, если вы используете virtualenv. Django нуждается в некоторых специальных включениях, которых нет при запуске ipython, потому что он запускает системный python по умолчанию, но не этот виртуальный.
источник
Это может произойти, когда вы запускаете
python script.py
vs justpython
для входа в интерактивную оболочку, среди других причин отключения readline.Пытаться:
источник
Стрелка вверх работает только в командной строке Python.
В IDLE (графический интерфейс Python) значения по умолчанию: Alt-p: возвращает предыдущую команду, соответствующую тому, что вы ввели. Alt-n: извлекает следующий ... Например, в Python 2.7.9 вы можете увидеть / изменить клавиши действий, выбрав: Параметры -> Настроить IDLE -> Клавиши (Tab)
источник
Для anaconda для python 3.5 мне нужно было установить
ncurses
После завершения
ncurses
вкладки установки история и навигация с помощью стрелок влево и вправо работали в интерактивной оболочке.источник
На Mac с Python 2.x
➜ ~ brew install rlwrap
Начните с rlwrap
➜ ~ rlwrap python
источник
Для повторения последней команды в Python вы можете использовать
<Alt + n>
в Windowsисточник
Стрелка вверх у меня тоже работает. И я не думаю, что вам нужно устанавливать модуль Readline для встроенной командной строки python. Вам следует попробовать Ipython, чтобы проверить. Или, может быть, проблема в вашей клавиатуре.
источник
Если вы используете MacOSX, нажмите
control p
для перехода вверх илиcontrol n
вниз. Я использую оболочку IDLE Python 3.4.1.источник
это control + p в Mac os в python 3.4 IDEL
источник
В Ubuntu 16.04 у меня была такая же проблема после обновления Python с предустановленной версии 3.5 до версии 3.7 из исходного кода . Как предложил @erewok, я сделал
а затем:
sudo make install
После этого сработала клавиша со стрелкой вверх. Не уверен, какой модуль требуется для решения проблемы или и то, и другое, но без "make install" ни один из них не будет работать. Во время первоначальной сборки было несколько ошибок, указывающих на красный флаг, но сборка была проигнорирована и завершена. На этот раз, похоже, ошибок не было.источник