■ MinGW版 Emacs 特有の設定
【本題】
(setq python-shell-interpreter "python3.2m")
;; (setq python-shell-interpreter "python2.6")
;; (setq python-shell-interpreter "python2.7")
Emacs-23系の場合、Windows版 Python(Cygwin版ではなく)を使うことを前提とした動きとなるようです。
run-pythonコマンドの内部で設定される PYTHONPATH が Windows のパス形式になることなどがその理由です。
このため、run-pythonコマンドを Cygwin の Python で動かそうとすると、正常に動作しません。
以下は、これを改善するための設定です。
(setq python-python-command "python3.2m")
;; (setq python-python-command "python2.6")
;; (setq python-python-command "python2.7")
(defadvice run-python (around ad-run-python activate)
(let ((data-directory (substring (shell-command-to-string
(concat "cygpath -u " (shell-quote-argument data-directory)))
0 -1)))
ad-do-it))
python-python-command の設定が必要なのは、/usr/bin/python がシンボリックリンクであるためです。このため、python-python-command には、/usr/bin/python のシンボリックリンク先のプログラムを指定しています。
<変更履歴>
- 2014/05/09 フォーマット整形を行った。(内容変更はなし)
最終更新:2019年10月31日 22:39