2011-12-13 40 views
25

thể trùng lặp:
Python shell: Arrow keys do not work on remote machineLàm cách nào khi tôi nhấn phím mũi tên Lên hoặc Xuống trong trình thông dịch Python tôi nhận được^[[A hoặc^[[B thay vì lịch sử?

Tôi không có ý tưởng tại sao lịch sử sẽ không làm việc trong các thông dịch Python 2.7.2. Tôi nhận được các nhóm ký tự lạ cho mỗi phím mũi tên. Điều này không xảy ra trong Terminal. BTW Tôi đang trên Ubuntu 10.04. Đây là một ảnh chụp màn hình của địa ngục này:

enter image description here

Làm thế nào để lấy lại khả năng để có được lịch sử lệnh của tôi bằng cách nhấn các phím Up và Down Arrow?

+0

Sau đây có thể là một số trợ giúp: http://stackoverflow.com/questions/893053/python-shell-arrow-keys-do-not-work-on-remote-machine – NPE

+0

Giá trị của 'của bạn là gì Biến môi trường $ TERM'? Làm thế nào bạn gọi trình thông dịch Python? Bạn đang gõ 'python' từ dấu nhắc trình bao? Nếu vậy, giả lập thiết bị đầu cuối nào là trình bao chạy dưới? –

+0

Tôi đã cập nhật câu trả lời của mình. –

Trả lời

25

Dường như bạn đang sử dụng bản dựng từ nguồn. Có vẻ như bạn sẽ cần xây dựng lại Python sau khi cài đặt gói libreadline-dev hoặc tương đương trên bản phân phối của bạn.

Cập nhật: Không cần phải có các bước xây dựng đặc biệt cần thiết, chỉ cần chạy make nên làm. Có một số thông báo được in ở cuối về các mô-đun tùy chọn không thể được xây dựng do thiếu phụ thuộc (ngoài readline, cũng có các phụ kiện Tcl/Tk, zlib, gdbmopenssl phụ thuộc).

Nếu vì một lý do nào đó chỉ cần chạy make không hoạt động, hãy thử chạy lại configure trước (nếu make chưa chạy nó cho bạn).

+0

Cảm ơn. Tôi vừa cài 'libreadline-dev'. Bây giờ làm thế nào tôi nên đi về xây dựng lại Python 2.7.2? Bất kỳ bước cụ thể nào tôi nên thực hiện trong quá trình xây dựng lại? –

+0

Tôi nên cài đặt phiên bản 'tcl',' tk' và 'zlib' nào? –

+0

Tôi biên dịch lại Python 2.7.2 sau khi cài đặt 'libreadline-dev' và tất cả đều đang hoạt động. Các phím mũi tên lên và xuống thay đổi lịch sử lệnh như mong đợi. –

Các vấn đề liên quan