技術

Mac(Snow Leopard)にPython2.7をインストールしたらタブがおかしくなった

2010/11/05追記
このエントリでは、Python2.7の対話モードでタブを入力できるようにする方法のみ書いてますが、後日書いた Mac(Snow Leopard)のPython2.7の対話モードでタブと日本語を入力できるようにする方法 でもっと簡単な方法(さらに日本語入力も可能)を載せてます。

色々と開発やってたので、Twitterもブログの方もおやすみしてました。
といっても特に多忙だったわけではなく2日に1回は昼間から遊びに出たり、開発も18時とか24時から調子がでたときにガッと太く?短くやる程度でした。
なので書く時間はたくさんあったのですが、性格上なんか書いてると時間以外にも精神力を使う(特にTwitter)のでアレです。

さて本題です。

開発には主にMacでPythonを使ってます。
今までpython.orgじゃないどこかがビルドしたNumPyとかがすでに入ってるPython2.6を使ってたのですが、python.org配布の製品バージョンが2.7に上がり、新しく立てたサーバーにも2.7を入れたので開発機も2.7にしました。
そしたら、タイトルに書いたような問題、正確には、Pythonの対話モードでタブキーを入力するとタブが入力されず、代わりにGNU readlineのファイル名補完機能が働いてしまうという問題が起きるようになってしまいました。

対話モードでファイル名補完機能が働いても使い道があまりないですし、なにより「インデントはタブ派」の自分には我慢ならんのです。

調べてみると、オフィシャルに問題として登録されてまして解決方法も書かれてました。
英語の説明なのでここに日本語で書いておきます。

1. $HOME/.pystartup に以下の内容でファイルを作成する。

import readline
if 'libedit' in readline.__doc__:
    readline.parse_and_bind("bind ^I ed-insert")

2. $HOME/.bash_profile などにPYTHONSTARTUPの環境変数の設定を追加する。

export PYTHONSTARTUP=$HOME/.pystartup

3. あとは source $HOME/.bash_profile とかで設定を反映させる。

これでバッチリタブが入るようになりました。
大した手順じゃないのでワザワザ日本語で説明するまでもなかった気がしてきました。

まだ、対話モードで日本語が入力できないという問題がありますが、今のところ困ってないので放置中です。
解決方法は検索すれば日本語の情報でたくさん出てくるでしょうし。

コメントを残す

メールアドレスが公開されることはありません。



※画像をクリックして別の画像を表示

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください