Я использую подчиненную оболочку 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
.
ipython
, похоже, не вызывает у меня такой проблемы. Вы можете установитьpython-shell-interpreter
на ipython (что-то вроде этого в вашем.emacs
):(setq python-shell-interpreter "ipython2")
- person s.yadegari   schedule 15.12.2016easy_install-3.6 => pip3 install
3.6 => 3.7
36m => 37m
- person David Jung   schedule 19.07.2018