История интерактивного режима Python и клавиши со стрелками

Пользователи Windows: просто отредактируйте php.ini и раскомментируйте эту строку:

extension=php_fileinfo.dll

I.e. удалите предыдущую точку с запятой из

;extension=php_fileinfo.dll

Не забудьте перезапустить Apache для вступления в силу нового php.ini.

27
задан kennytm 14 August 2010 в 14:26
поделиться

2 ответа

Вы не говорите, какой Python вы используете, но упомянутые вами симптомы действительно обычно вызваны тем, что Python не собран с поддержкой readline . В наши дни Python на OS X может быть построен для использования либо библиотеки GNU readline , либо предоставленной Apple библиотеки editline (AKA libedit ).Вы можете использовать следующие две команды, чтобы точно определить, какой Python вы используете. Если это не помогает вам понять, что происходит, отредактируйте свой вопрос, чтобы отобразить вывод этих команд.

Вот пример, который показывает последнюю версию MacPorts Python 2.6 в OS X 10.6:

$ python -c 'import sys;print(sys.version);print(sys.executable)'
2.6.5 (r265:79063, Jul 15 2010, 01:53:46) 
[GCC 4.2.1 (Apple Inc. build 5659)]
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python

$ otool -L $(python -c 'import readline; print(readline.__file__)')
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/readline.so:
    /opt/local/lib/libreadline.6.1.dylib (compatibility version 6.0.0, current version 6.1.0)
    /opt/local/lib/libncursesw.5.dylib (compatibility version 5.0.0, current version 5.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0)

Префикс пути / opt / local / - это местоположение по умолчанию для установленного MacPorts программного обеспечения и вывод из ] otool указывает, что этот модуль Python readline динамически связан с установленной MacPorts библиотекой GNU readline .

6
ответ дан 28 November 2019 в 05:28
поделиться

Такое поведение обычно проявляется, когда у вас нет поддержки readline. Если вы используете MacPorts, попробуйте port install readline, посмотрите, исправит ли это. Вы также можете увидеть на этой странице для некоторых дальнейших объяснений.

(Также полезно знать: некоторые программы не используют readline, даже если они присутствуют в системе. Вы можете принудительно включить их с помощью rlwrap (port install rlwrap). Например: rlwrap ocaml -init code.ml запустится OCaml, прочитайте code.ml и запустите REPL с поддержкой readline)

5
ответ дан Amadan 28 November 2019 в 05:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: