Bagaimana saya mengulangi perintah terakhir? Tombol biasa: Atas, Ctrl + Atas, Alt-p tidak berfungsi. Mereka menghasilkan karakter yang tidak masuk akal.
(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
sumber
sumber
libncurses-dev
libreadline-dev
dan kemudianconfigure-make-install
Python dan berhasil setelah itu. Ditambahkan sebagai jawaban ...Jawaban:
Saya menggunakan berikut ini untuk mengaktifkan riwayat pada shell python.
Ini adalah file .pythonstartup saya . Variabel lingkungan PYTHONSTARTUP diatur ke jalur file ini.
Anda harus memiliki modul readline, rlcompleter untuk mengaktifkannya.
Modul yang dibutuhkan:
sumber
Di IDLE, masuk ke Pilihan -> Konfigurasikan IDLE -> Tombol dan pilih pilih riwayat-selanjutnya dan lalu riwayat-sebelumnya untuk mengubah kunci.
Kemudian klik Dapatkan Kunci Baru untuk Seleksi dan Anda siap untuk memilih kombinasi tombol apa pun yang Anda inginkan.
sumber
Alt + p untuk perintah sebelumnya dari histroy, Alt + n untuk perintah selanjutnya dari histori.
Ini adalah konfigurasi default, dan Anda dapat mengubah pintasan kunci ini sesuai keinginan Anda dari Pilihan -> Konfigurasikan IDLE.
sumber
Anda tidak menentukan lingkungan mana. Dengan asumsi Anda menggunakan IDLE.
Dari dokumentasi IDLE: Riwayat perintah:
sumber
ALT + p bekerja untuk saya di Enthought Python di Windows.
sumber
Ctrl + p adalah alternatif normal untuk panah atas. Pastikan gnu readline Anda telah diaktifkan di Python build Anda.
sumber
Di Ubuntu Server 12.04, saya mengalami masalah ini setelah menginstal versi Python dari sumber (Python3.4).
Beberapa komentar di sini merekomendasikan untuk menginstal Ipython dan saya ingin menyebutkan bahwa saya memiliki perilaku yang sama bahkan dengan Ipython. Dari apa yang saya tahu, ini adalah masalah readline.
Untuk server Ubuntu 12.04, saya harus menginstal
libncurses-dev
danlibreadline-dev
kemudian menginstal Python dari sumber agar perilaku up-history (readline) diaktifkan. Saya cukup banyak melakukan ini:Setelah itu, saya menghapus Python yang sebelumnya diinstal (BUKAN SISTEM PYTHON, yang saya instal dari sumber!) Dan menginstalnya kembali dari sumber dan semuanya bekerja seperti yang diharapkan.
Saya tidak perlu menginstal apa pun dengan pip atau mengedit .pythonstartup.
sumber
3.4.0
ke3.4.2
.sudo pip install readline
setelah ini untuk membuatnya bekerja (python 2.7.11)sudo apt-get install libncurses-dev libncurses-dev:i386 libreadline-dev libreadline-dev:i386
dan menginstal ulang Python sumber-dibangun.Secara default, gunakan ALT + p untuk perintah sebelumnya, Anda dapat mengubah ke Panah Atas sebagai gantinya di IDLE GUi >> OPtions >> Configure IDLE >> Key >> Binding Kunci Kustom. Tidak perlu menjalankan skrip khusus, selain modul readlines tidak dijalankan di Windows. Semoga Itu Membantu. :)
sumber
Pada CentOS, saya memperbaikinya dengan
dan kemudian mengkompilasi ulang python 3.4.
Pada OpenSUSE, saya memperbaikinya dengan
Mengacu pada jawaban ini: https://stackoverflow.com/a/26356378/2817654 . Mungkin "pip3 install readline" adalah solusi umum. Belum mencoba CentOS saya.
sumber
Di mac os python3 saya, Anda dapat menggunakan: control + p perintah awal contrlo + n perintah berikutnya
sumber
Saya menemukan informasi yang saya salin di bawah menjawab pertanyaan
sumber
sumber
lihat di bawah
history-previous
untuk perintah, Anda dapat mengubahnya menjadi sesuatu yang Anda sukai sekali di sini.sumber
Saya tidak mengerti mengapa ada begitu banyak penjelasan tentang hal ini. Yang harus Anda lakukan adalah menginstal paket pyreadline dengan:
sudo port install py-readline (di Mac)
(Anggap saja Anda sudah menginstal PIP .)
sumber
pip2
ataupip3
, tergantung pada versi apa yang telah Anda instal.Anda tidak memerlukan skrip khusus seperti jawaban pyfunc untuk OSX (setidaknya pada maverick). Dalam Idle klik pada Idle -> Preferences -> Keys, cari "history-next" dan "history-before", dan biarkan mereka dengan pintasan keyboard default atau tetapkan "panah atas" dan "panah bawah" sesuai perilaku terminal yang diharapkan. .
Ini pada Idle 2.7 di OSX Mavericks.
sumber
Jika Anda menggunakan Debian Jessie jalankan ini untuk memperbaiki instalasi sistem Anda
2.7.9
Untuk memperbaiki
3.5.2
instalasi saya yang lain yang saya instal dengan pyenv :Sumber:
[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
sumber
pip install readline
Menggunakan tombol panah untuk pergi ke awal perintah dan menekan enter, salin sebagai perintah saat ini.
Lalu tekan saja enter untuk menjalankannya lagi.
sumber
Ipython tidak selalu jalan ... Saya sangat menyukainya, tetapi jika Anda mencoba menjalankan Django shell dengan ipython. Sesuatu seperti >>>
itu tidak berfungsi dengan benar jika Anda menggunakan virtualenv. Django memerlukan beberapa fitur khusus yang tidak ada di sana jika Anda memulai ipython, karena ia memulai sistem default python, tetapi tidak virtual.
sumber
Ini bisa terjadi ketika Anda menjalankan
python script.py
vs hanyapython
untuk memasuki shell interaktif, di antara alasan lain untuk readline dinonaktifkan.Mencoba:
sumber
Panah Atas hanya berfungsi di baris perintah Python.
Dalam IDLE (Python GUI) standarnya adalah: Alt-p: mengambil perintah sebelumnya yang cocok dengan apa yang Anda ketikkan. Alt-n: mengambil berikutnya ... Dalam Python 2.7.9 misalnya, Anda dapat melihat / mengubah Tombol Tindakan memilih: Pilihan -> Konfigurasikan IDLE -> (Tab) Tombol
sumber
Untuk anaconda untuk python 3.5, saya harus menginstal
ncurses
Setelah
ncurses
tab instal selesai, histori, dan navigasi melalui panah kiri dan kanan bekerja di shell interaktif.sumber
Di Mac dengan Python 2.x
➜ ~ brew install rlwrap
Mulai dengan rlwrap
➜ ~ rlwrap python
sumber
Untuk mengulangi perintah terakhir dengan python, Anda bisa menggunakannya
<Alt + n>
di windowssumber
Panah atas juga berfungsi untuk saya. Dan saya tidak berpikir Anda perlu menginstal modul Readline untuk python builtin commandline. Anda harus mencoba Ipython untuk memeriksa. Atau mungkin itu masalah peta keybord Anda.
sumber
Jika menggunakan MacOSX, tekan
control p
untuk naik dancontrol n
turun. Saya menggunakan Shell IDLE Python 3.4.1.sumber
itu adalah kontrol + p di Mac os di python 3.4 IDEL
sumber
Di Ubuntu 16.04, saya mengalami masalah yang sama setelah memutakhirkan Python dari versi 3,5 yang dimuat sebelumnya ke kode sumber . Seperti yang disarankan @erewok, saya lakukan
diikuti oleh:
sudo make install
Setelah itu, tombol panah berfungsi. Tidak yakin modul mana yang diperlukan untuk memperbaiki masalah atau keduanya, tetapi tanpa "make install", tidak ada yang akan bekerja. Selama awal pembuatan, ada beberapa kesalahan bendera merah, tetapi mengabaikan dan menyelesaikan pembangunan. Kali ini, sepertinya tidak ada kesalahan.sumber