Bạn không nói bạn đang sử dụng Python nào nhưng các triệu chứng bạn đề cập thực sự thường do Python không được xây dựng với sự hỗ trợ readline
. Ngày nay, Python trên OS X có thể được xây dựng để sử dụng thư viện GNU readline
hoặc thư viện editline
do Apple cung cấp (AKA libedit
). Bạn có thể sử dụng hai lệnh sau đây để hiển thị chính xác bạn đang sử dụng Python nào. Nếu điều đó không giúp bạn tìm ra những gì đang diễn ra, hãy chỉnh sửa câu hỏi của bạn để hiển thị đầu ra từ các lệnh đó.
Dưới đây là một ví dụ cho thấy một gần đây MacPorts Python 2.6 trên 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)
Đường dẫn prefix /opt/local/
là vị trí mặc định cho phần mềm MacPorts cài đặt và sản lượng từ otool
chỉ ra rằng mô-đun readline
của Python này được liên kết động với thư viện GNU readline
được cài đặt MacPorts.
Nguồn
2010-08-15 07:49:44
Các gợi ý để xem xét mô-đun readline Python là hữu ích. Rõ ràng là tôi đã thực sự * không * liên kết với 'libreadline'. Tôi không biết tại sao không, mặc dù kể từ khi readline đã được cài đặt tốt. Dù sao, 'port -f gỡ bỏ py27-readline; cổng cài đặt py27-readline' cố định nó. – Celada