Saya punya masalah dengan huruf "b" saya di shell Python di OS X. Saya tidak bisa mengetik "b", tapi "B" bekerja dengan baik.
Bagaimana saya bisa mengatasi masalah ini?
Saya punya masalah dengan huruf "b" saya di shell Python di OS X. Saya tidak bisa mengetik "b", tapi "B" bekerja dengan baik.
Bagaimana saya bisa mengatasi masalah ini?
Jawaban:
Baris bermasalah di Anda .pythonstartup
adalah sesuatu seperti:
readline.parse_and_bind("bind ^I rl_complete") # darwin libedit
Ini .pythonstartup
akan memperbaikinya ...
try:
import readline
except ImportError:
print "Module readline not available."
else:
import rlcompleter
if 'libedit' in readline.__doc__:
readline.parse_and_bind("bind ^I rl_complete")
else:
readline.parse_and_bind("tab: complete")
Pertama, ini tidak terjadi sampai saya memperbarui python 2.7.1 ke 2.7.3. Yang mengatakan, perbaikannya ada di jalur:
baris lama:
if(sys.platform == 'darwin'): #FIX
garis baru:
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
Kode lengkap di ~ ~ .pythonrc saya
import atexit
import os
try:
import readline
except ImportError:
print "Module readline not available."
else:
import rlcompleter
import sys
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
# OSX
readline.parse_and_bind ("bind ^I rl_complete")
else:
# Linux
readline.parse_and_bind("tab: complete")
historyPath = os.path.expanduser("~/.pyhistory")
def save_history(historyPath=historyPath):
readline.write_history_file(historyPath)
if os.path.exists(historyPath):
readline.read_history_file(historyPath)
atexit.register(save_history)
del atexit, save_history, historyPath
Saya memiliki masalah yang sama. Ini terjadi ketika Anda menggunakan versi MacPorts dari Python di Snow Leopard.
Saya tidak melihat masalah ini dalam Python Apple yang datang dengan Mac OS X. Jadi, solusinya adalah mengatur mengatur PYTHONPATH
menunjuk ke paket MacPorts ':
/opt/local/lib/python/site-packages:/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/
(atau versi Python yang berbeda) dan gunakan Python Apple.
Sayangnya, penyelesaiannya tidak bijaksana.
Apple berasumsi bahwa versinya tidak berubah ketika melakukan peningkatan dan fungsi lainnya. Sebagai gantinya, disarankan bahwa jika Anda ingin memutakhirkan python atau memperluasnya bahwa Anda menginstal versi lokal, baik di bawah /opt
atau folder rumah Anda.
Saya juga memiliki masalah yang sama, dan saya tidak menggunakan versi python MacPorts.
Saya menggunakan versi terbaru vpython
, visual python, dari www.vpython.org di bawah Mac OX X Lion yang berjalan di MacBook Air terbaru (generasi 3).
Saya menginstal vpython menggunakan biner terbaru mereka dan menggunakan instruksi mereka. Itu datang dengan installer sehingga itu adalah titik dan klik. Ini adalah versi modifikasi dari Python 2.7.1. Ini adalah versi 32 bit. (Saya percaya mereka belum porting ke 64 bit). Saya kemudian menginstal VPython-Mac-Py2.7-5.71. Saya mengikuti ini dengan scipy dari www.scipy.org dan matplotlib dari matplotlib.sourceforge.net Semua instalasi ini menggunakan installer.
Ketika saya menjalankan python dari alat pengembangan mereka, idle, atau varian vpython, vidle, saya tidak punya masalah. Jika saya membuka terminal dan menjalankan python dari bash shell, shell tidak akan mengenali kunci "b" di keyboard. Ini akan memberi Anda bunyi 'bel', alih-alih mengetik 'karakter b'. Namun, Anda dapat memasukkan huruf 'B'. Sepertinya kunci ini dipetakan ke beberapa 'karakter' yang tidak ditampilkan, mungkin karakter 'bel' dalam kode ASCII lama.
Saya mencoba mengubah emulasi ke xterm, vt100, vt102. Saya juga bermain dengan skema pengkodean yang berbeda seperti hanya menggunakan UTF-8. Saya juga menekan kombinasi tombol khusus yang berbeda seperti perintah-b dll. Tidak ada yang berhasil.
Solusi saya satu-satunya adalah menulis skrip dari idle atau vidle.
Saya harap ini membantu memperjelas masalahnya.