Я новичок в Emacs, и я пытаюсь настроить свою среду python. До сих пор я узнал, что с использованием «python-mode.el» в буфере python C-c C-c
загружает содержимое текущего буфера в интерактивную оболочку python, по-видимому, используя то, что дает which python
. В моем случае это python 3.3.3. Но так как мне нужно получить оболочку python 2.7, я пытаюсь заставить Emacs создать такую оболочку на C-c C-c
. К несчастью, я не могу понять, как это сделать. Установка py-shell-name
на то, что which python2.7
выходов (то есть /usr/bin/python2.7
) не работает. Как заставить Emacs сделать это, или как я могу отследить, что Emacs выполняет, когда я нажимаю C-c C-c
?Использование python2.7 с Emacs 24.3 и python-mode.el
ответ
питон-mode.el, выполнить буфер питона с помощью python2:
M-x py-execute-buffer-python2
или поместить его в файл .emacs:
(custom-set-variables
'(py-force-py-shell-name-p t)
'(py-shell-name "python2"))
питон-mode.el проверки py-force-py-shell-name-p
переменных при выполнение py-execute-buffer
(привязано к ключу C-c C-c
), и если для этой переменной установлено значение true ("t"), используйте имя интерпретатора python, сохраненное в py-shell-name
.
В качестве альтернативы, эта настройка может быть выполнена в M-x customize
, Программирование> Языки> Режим Python, поиск там для строк «Py Force Py Shell» и «Py Shell Name». Он добавит этот код настройки в ваш файл .emacs.
Emacs помощь (описать функцию):
C-h f py-execute-buffer TAB
Вы можете отправить выбранный регион в буфере питона любого переводчика:
C-u 3 M-x py-execute-region
Emacs запросит каждый раз для питона имя интерпретатора, которое вы хотите использовать. Числовой аргумент префикса может быть любым числом, кроме 1 или 4, в противном случае он будет использовать интерпретатор по умолчанию без приглашения.
Для выполнения буфера в разных интерпретаторах python вы можете выбрать весь буфер C-x h
, а затем использовать эту префиксную команду.
Я не использую python, но из источника в python-режим, я думаю, вам нужно изучить настройку переменной python-python-command
- Кажется, что по умолчанию первая команда для команды соответствует «python»; возможно, вы можете предоставить ему свой собственный путь?
Я думаю, вам может понадобиться нечто подобное, которое я использую для латекса: '(setenv" PATH "(concat (getenv" PATH ")":/usr/texbin "))' - конечно, вы бы разместили ваш собственный путь к вашим материалам python. – lawlist