pymacs: General question and Installation problem
emacs, pymacs, python, rope
Solution
It turns out I missed these two:
(add-to-list 'load-path "~/.emacs.d/site-lisp/Pymacs-0.23")
Obviously I need to load the pymac script.
And I have set the env var PYMACS_PYTHON to python 2.6 because I am using python 2.4 as default python interpreter, for work reason.
Problem
I am trying to setup emacs for python development. From what I read, it is recommended to use python-mode.el rather than the default python.el from Emacs 22.3. So I embark on the new adventure. From what I understand, python-mode has the several dependencies, so I need to install rope, ropemode and ropemacs. Then on top of that I need to install pymacs. Q: is it correct? This is my new .emacs now: ``` (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(inhibit-startup-screen t) '(tab-width 4)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) (setq emacs-config-path "~/.emacs.d/") (setq base-lisp-path "~/.emacs.d/site-lisp/") (setq site-lisp-path (concat emacs-config-path "/site-lisp")) (defun add-path (p) (add-to-list 'load-path (concat base-lisp-path p))) (add-path "") (add-to-list 'load-path "~/.emacs.d") (require 'psvn) ;; python-mode ;; (setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist)) (setq interpreter-mode-alist (cons '("python" . python-mode) interpreter-mode-alist)) (autoload 'python-mode "python-mode" "Python editing mode." t) (setq pymacs-load-path '( "~/.emacs.d/site-lisp/rope" "~/.emacs.d/site-lisp/ropemode" "~/.emacs.d/site-lisp/ropemacs")) (setq interpreter-mode-alist (cons '("python" . python-mode) interpreter-mode-alist) python-mode-hook '(lambda () (progn (set-variable 'py-indent-offset 4) (set-variable 'py-smart-indentation nil) (set-variable 'indent-tabs-mode nil) ;;(highlight-beyond-fill-column) (define-key python-mode-map "\C-m" 'newline-and-indent) (pabbrev-mode) (abbrev-mode) ) ) ) ;; pymacs (autoload 'pymacs-apply "pymacs") (autoload 'pymacs-call "pymacs") (autoload 'pymacs-eval "pymacs" nil t) (autoload 'pymacs-exec "pymacs" nil t) (autoload 'pymacs-load "pymacs" nil t) ;; Search local path for emacs rope ;; ;; enable pymacs ;; (require 'pymacs) (pymacs-load "ropemacs" "rope-") ``` Now, when i start emacs, I got this error message: ``` ("C:\\opt\\emacs-22.3\\bin\\emacs.exe") Loading encoded-kb...done Loading regexp-opt...done Loading easy-mmode...done Loading wid-edit...done Loading edmacro...done Loading derived...done Loading advice...done Loading cl-macs...done Loading byte-opt...done An error has occurred while loading `c:/opt/cygwin/home/akong/.emacs': File error: Cannot open load file, pymacs To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the `--debug-init' option to view a complete error backtrace. For information about GNU Emacs and the GNU system, type C-h C-a. [2 times] ``` To make it slightly more complicated: For work reason I have to use python 2.4, but I have python 2.6 installed on my PC. But obviously rope does not like 2.4 so I did not run setup.py. I untar/unzip these packages and put these files under ~/.emacs.d/site-lisp. By default if python is invoked in command prompt, it is the python 2.4 executable. Q: How can I successfully load 'pymacs'?