OS XのPythonシェルの「b」の文字に問題があります。「b」を入力できませんが、「B」は正常に機能しました。
この問題を解決するにはどうすればよいですか?
OS XのPythonシェルの「b」の文字に問題があります。「b」を入力できませんが、「B」は正常に機能しました。
この問題を解決するにはどうすればよいですか?
回答:
あなたの問題のある行.pythonstartup
は次のようなものです:
readline.parse_and_bind("bind ^I rl_complete") # darwin libedit
これ.pythonstartup
はそれを修正します...
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")
まず、これはpython 2.7.1を2.7.3に更新するまで起こりませんでした。つまり、修正は次のとおりです。
古い行:
if(sys.platform == 'darwin'): #FIX
改行:
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
〜/ .pythonrcの完全なコード
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
同じ問題があります。これは、Snow LeopardでMacPortsバージョンのPythonを使用すると発生します。
Mac OS Xに付属するAppleのPythonではこの問題は発生しません。そのため、回避策はPYTHONPATH
、MacPortsのパッケージを指すように設定することです。
/opt/local/lib/python/site-packages:/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/
(または別のPythonバージョン)、AppleのPythonを使用します。
残念ながら、この回避策は賢明なものではありません。
Appleは、アップグレードやその他の機能を実行するときに、バージョンが変更されていないと想定しています。代わりに、Pythonをアップグレードまたは拡張する場合は、ローカル/opt
フォルダまたはホームフォルダにローカルバージョンをインストールすることをお勧めします。
私も同じ問題を抱えており、MacPortsバージョンのpythonを使用していません。
最新のMacBook Air(第3世代)で実行されているMac OX X Lionでwww.vpython.orgvpython
から入手した最新バージョンのビジュアルpython を使用しています。
最新のバイナリを使用し、その指示に従ってvpythonをインストールしました。インストーラーが付属しているので、ポイントアンドクリックです。これはPython 2.7.1の修正バージョンです。32ビット版です。(私はそれらを64ビットに移植していないと思います)。次に、VPython-Mac-Py2.7-5.71をインストールしました。私はからscipyのダウンロードによってこれを続いwww.scipy.orgしてからmatplotlibのmatplotlib.sourceforge.netこれらのインストールのすべては、インストーラを使用しています。
開発ツールのアイドル、またはvpythonのバリアントであるvidleからpythonを実行しても問題ありません。ターミナルを開いてbashシェルからpythonを実行すると、シェルはキーボードの「b」キーを認識しません。「文字b」を入力する代わりに、「ベル」音が聞こえます。ただし、文字「B」を入力できます。このキーは、誤った非表示の「文字」、おそらく古いASCIIコードの「ベル」文字にマッピングされているようです。
エミュレーションをxterm、vt100、vt102に変更してみました。また、UTF-8を使用するなど、さまざまなエンコーディングスキームを試しました。command-bなどの特殊キーのさまざまな組み合わせも押しました。何も動作しませんでした。
私の唯一の回避策は、アイドルまたはバイドルからスクリプトを作成することです。
これが問題の明確化に役立つことを願っています。