43

私は OS X (El Capitan) で Python 下位シェルを使用しており、コードの一部を Python プロセスに送信するたびに ( C-c C-rwhich にバインドされているものを使用してpython-shell-send-region)、Python シェルで次のようなメッセージが表示されます。

>>> import codecs, os;
    __pyfile = codecs.open('''/var/folders/6j/g9hcs1s17g1dgxr3p_m04rq80000gn/T/py5013kfY''', encoding='''utf-8''');
    __code = __pyfile.read().encode('''utf-8''');
    __pyfile.close();
    os.remove('''/var/folders/6j/g9hcs1s17g1dgxr3p_m04rq80000gn/T/py5013kfY''');
    exec(compile(__code, '''/Users/user/Desktop/sample.py''', 'exec'));

コマンドを呼び出すたびにこのメッセージが表示されないようにしたいと思います。Linux 上の Emacs の同じバージョン (python.el ファイルと一緒に) には、この問題はありません。メッセージのテンプレートはpython-shell-send-file関数内 (python.elファイル内) で定義されていますが、 python-shell-send-region. 最初の実行では、次のコマンドで Python インタープリター (バージョン 2.7.10) を呼び出します。

/usr/bin/python -i

ただし、他の python インタープリター (brew 経由でインストール) でも同じように動作します。私はEmacs 24.5.1を使用しています(再びbrew経由でインストールされました)。私が使用する唯一の python-mode 固有の構成は.emacs、タブ幅に関連しています。

(add-hook 'python-mode-hook
      (lambda ()
        (setq indent-tabs-mode t)
        (setq tab-width 2)
        (setq python-indent 2)))

任意のヘルプや提案をいただければ幸いです。

編集と可能な解決策

(私はこれを見つけましたhttps://github.com/jorgenschaefer/elpy/issues/1307 ):

$ easy_install-3.6 gnureadline
$ cd /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload
$ mv readline.cpython-36m-darwin.so readline.cpython-36m-darwin.so.bak

gnureadline のインストール中にエラーが発生した場合はfatal error: 'stdio.h' file not found、 を試してくださいxcode-select --install

4

1 に答える 1