Определение интерпретатора Python от virtualenv в emacs

Сегодня я пытался принести больше связанных с Python режимов в свою конфигурацию Emacs, но у меня не было большой удачи.

Сначала то, что я заметил, - то, что в зависимости от то, как Emacs запускается (терминал по сравнению с от рабочего стола), интерпретатор, который он решает использовать, отличается.

  • запущенный из меню KDE: M-! который дает Python /usr/bin/python

  • запущенный от терминала: M-! который дает Python ~/local/bin/python

Я могу отчасти принять это, так как у меня есть свой .bashrc, добавляющий ~/local/bin к пути, и я предполагаю, что KDE игнорирует это по умолчанию. Я могу работать вокруг этого, однако что я не понимаю, затем, если бы я активирую virtualenv, я ожидал бы M-! на какой Python указать на ~/project.env/bin/python однако это неподвижные точки к ~/local/bin/python.

Таким образом, когда я py-оболочка M-x, я получаю ~/local/bin/python поэтому, если я попробую к M-x py-execute-buffer на модуле, который находится в пакете в virtualenv, то py-оболочка будет жаловаться на не знание о модулях также в virtualenv.

Установка py-python-command к "~/project.env/bin/python", кажется, не имеет никакого эффекта после того, как все будет загружено.

Таким образом, я предполагаю, что полное затруднение моего вопроса, как каждый получает весь Python связанный материал emacs, указывающий на правильный интерпретатор?

12
задан Török Gábor 6 June 2011 в 14:25
поделиться

1 ответ

Кажется, что оболочка python поступает правильно, выбирая параметры среды, тогда как оболочка python этого не делает. python-shell предоставляется python.el, а py-shell предоставляется python-mode.el. С этим связаны отчеты об ошибках и т. д., поэтому я просто не собираюсь сейчас использовать py-shell. Подумал, что замкну цикл на этом вопросе, если машина Google по той или иной причине сочтет это элементом с высоким рейтингом.

8
ответ дан 2 December 2019 в 21:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: