Вы не говорите, какой 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
указывает на то, что readline
модуль этого питона динамически связана с библиотекой GNU readline
, установленной MacPorts.
Помочь взглянуть на модуль readline Python. По-видимому, мой был * не * связан с 'libreadline'. Я не знаю, почему нет, хотя после того, как readline был установлен просто отлично. В любом случае, 'port -f удалить py27-readline; порт install py27-readline' исправил его. – Celada