Оболочка Emacs Inferior Python показывает сообщение send с каждой командой python-shell-send-region

Я использую низкоуровневую оболочку Python в OS X (El Capitan) и каждый раз отправляю фрагмент кода процессу Python (используя C-c C-r который связан с 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'));

Я хотел бы, чтобы это сообщение не отображалось при каждом вызове команды. Та же версия Emacs для Linux (вместе с файлом 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, в которой я использую .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,

0 ответов

$ source ./your/venv/activate
$ pip install pyreadline

Должен работать автоматически с Python. Ранее в этом году я столкнулся с аналогичной проблемой в Windows 10, установив pyreadline, поскольку зависимость разработчика решила ее.

Другие вопросы по тегам