Reputation: 9869
I want autocompletion and refactoring in emacs with python.
I gather that I need rope to do this. To do this with emacs, I need ropemacs. Ropmacs depends on pymacs.
Pymacs is hard to install...or at least the instructions are not clear to me.
Do I need to do two things? Install pymacs and then install a file that tells emacs to talk to pymacs? I've already installed rope and ropemacs super easily, with
pip install rope ropemacs
Here's what I did:
pip install -e "git+https://github.com/pinard/Pymacs.git#egg=Pymacs"
This installs ok on mac os x mountain lion according to PIP.
But I have a feeling that I am not done--or am I?
How do I test to see if pymacs and rope and ropemacs are all working?
Upvotes: 5
Views: 4316
Reputation: 2094
clone pymacs github, go to folder and proceed tutorial from author. http://pymacs.progiciels-bpi.ca/pymacs.html is now offline, if still so see tutorial at https://web.archive.org/web/20130627154513/http://pymacs.progiciels-bpi.ca/pymacs.html . Look at chapter "2.4) Install the Pymacs proper" and "2.5 Prepare your .emacs file". Chapters are small, have testing and recomendations for windows user.
Upvotes: 2
Reputation: 18075
Installation section of Pymacs manual is fairly straightforward — don't be afraid to refer to it if unsure. Below are the steps to install Pymacs in Emacs 24. First, in shell, run:
sudo pip install rope ropemacs
After that in Emacs install Elisp side of Pymacs by adding Marmalade repository and then running package-install pymacs
. As of February 2014 you can't install Pymacs via pip
, therefore:
git clone http://github.com/pinard/pymacs
cd pymacs
make check
sudo make install
make check
ensures the prerequisites. sudo make install
puts Pymacs module in Python local modules path, usually /usr/local/lib/python2.7/dist-packages/
. People generally frown upon make install
, because if you lose the Makefile, it can become hard to cleanly uninstall. But you shouldn't fear it, as pip
uses the same directory, so pip uninstall pymacs
will work.
In ~/.emacs.d/init.el
put:
;; 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)
(autoload 'pymacs-autoload "pymacs")
Evaluate this with eval-region
and try running Python expressions with pymacs-eval
. You're good to go.
Upvotes: 7
Reputation: 3020
I think the easiest way to install ropemacs is to use el-get: M-x el-get-install ropemacs
. It installs and build Pymacs, rope and ropemacs. I know that it works on Linux. See the el-get document for more information. (disclaimer: I wrote the installation recipe for el-get so obviously I am biased to my solution)
The difference from the solution using pip is that it setups the Emacs side of Pymacs correctly.
Upvotes: 7