From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: Perfect python environment
Date: Fri, 11 Sep 2009 22:56:02 +0200 [thread overview]
Message-ID: <87eiqdfbfh.fsf@tux.homenetwork> (raw)
In-Reply-To: h8ddiu$pc1$2@ger.gmane.org
Neal Becker <ndbecker2@gmail.com> writes:
> Thierry Volpiatto wrote:
>
>> Hi, i never been able to install rope correctly also.
>> even when installed, i found severe bugs that crash emacs (don't
>> remember what it was).
>>
>> If you just want completion in python, consider using ipython as
>> python-shell in emacs and use anything-python for completion.
>> See:
>>
>> http://ipython.scipy.org/
>> http://www.emacswiki.org/cgi-bin/emacs/PythonMode
>> http://www.emacswiki.org/cgi-bin/emacs/anything-ipython.el
>>
> Thanks! I installed anything-ipython, and now in ipython shell, I have
> completions.
>
> I also added:
> (add-hook 'python-mode-hook #'(lambda ()
> (define-key py-mode-map (kbd "C-<tab>")
> 'anything-ipython-complete)))
> (add-hook 'ipython-shell-hook #'(lambda ()
> (define-key py-mode-map (kbd "C-<tab>")
> 'anything-ipython-complete)))
> (require 'anything-show-completion)
It seem your configuration of anything-ipython is wrong, be sure to read
carefully the instructions in anything-ipython.el.
I can't reproduce your error.
Here is my config:
,----[ Config thierry anything-ipython ]
| (require 'anything-ipython)
| (add-hook 'python-mode-hook #'(lambda ()
| (define-key py-mode-map (kbd "M-<tab>") 'anything-ipython-complete)))
| (add-hook 'ipython-mode-hook #'(lambda ()
| (define-key py-mode-map (kbd "M-<tab>") 'anything-ipython-complete)))
|
| (add-hook 'ipython-shell-hook #'(lambda ()
| (define-key py-mode-map (kbd "M-<tab>") 'anything-ipython-complete)))
| (when (require 'anything-show-completion nil t)
| (use-anything-show-completion 'anything-ipython-complete
| '(length initial-pattern)))
| (define-key py-mode-map (kbd "C-c M") 'anything-ipython-import-modules-from-buffer)
`----
To have completion in python buffer (i.e in your python file, not the
shell) you have to start first the ipython interpreter, and then load
all the modules you have in your python file.
Load modules one by one in ipython interpreter or use from your file
C-c M (see above).
Be sure also to setup python-mode (PYTHON-MODE, not the bad one that
come with emacs) correctly.
Let me know if you have more problems.
> But completions don't work in python buffer. Hitting C-<tab>, I am prompted
> with "pattern:", then I get:
>
> Debugger entered--Lisp error: (cl-assertion-failed header-pos)
> signal(cl-assertion-failed (header-pos))
> (or header-pos (signal (quote cl-assertion-failed) (list ...)))
> (progn (or header-pos (signal ... ...)) nil)
> (assert header-pos)
> (save-excursion (assert header-pos) (goto-char header-pos) (buffer-
> substring-no-properties (line-beginning-position) (line-end-position)))
> (let* ((header-pos ...) (source-name ...)) (some (lambda ... ...)
> (anything-get-sources)))
> (save-current-buffer (set-buffer (anything-buffer-get)) (goto-char
> (overlay-start anything-selection-overlay)) (let* (... ...) (some ... ...)))
> (with-current-buffer (anything-buffer-get) (goto-char (overlay-start
> anything-selection-overlay)) (let* (... ...) (some ... ...)))
> (if (and (boundp ...) (stringp anything-source-name)) source (with-
> current-buffer (anything-buffer-get) (goto-char ...) (let* ... ...)))
> anything-get-current-source()
> (or anything-saved-current-source (anything-get-current-source))
> (let ((source ...)) (if (and ... ...) (setq selection "")) (setq display-
> to-real (or display-to-real ... ...)) (if (and ... ...) (setq action ...))
> (unless clear-saved-action (setq anything-saved-action nil)) (if (and
> selection action) (anything-funcall-with-source source action ...)))
> anything-execute-selection-action()
> (unwind-protect (anything-execute-selection-action) (anything-aif (get-
> buffer anything-action-buffer) (kill-buffer it)) (run-hooks (quote anything-
> after-action-hook)))
> (if anything-quit nil (unwind-protect (anything-execute-selection-action)
> (anything-aif ... ...) (run-hooks ...)))
> (unless anything-quit (unwind-protect (anything-execute-selection-action)
> (anything-aif ... ...) (run-hooks ...)))
> (let ((frameconfig ...) anything-source-name anything-in-persistent-action
> anything-quit anything-follow-mode (case-fold-search t) (anything-buffer
> ...) (anything-sources ...)) (add-hook (quote post-command-hook) (quote
> anything-check-minibuffer-input)) (add-hook (quote minibuffer-setup-hook)
> (quote anything-print-error-messages)) (setq anything-current-position (cons
> ... ...)) (if any-resume (anything-initialize-overlays ...) (anything-
> initialize)) (setq anything-last-buffer anything-buffer) (when any-input
> (setq anything-input any-input anything-pattern any-input)) (anything-
> display-buffer anything-buffer) (unwind-protect (progn ... ... ... ...)
> (anything-cleanup) (remove-hook ... ...) (remove-hook ... ...) (anything-
> set-frame/window-configuration frameconfig)) (unless anything-quit (unwind-
> protect ... ... ...)))
> (progn (let (... anything-source-name anything-in-persistent-action
> anything-quit anything-follow-mode ... ... ...) (add-hook ... ...) (add-hook
> ... ...) (setq anything-current-position ...) (if any-resume ... ...) (setq
> anything-last-buffer anything-buffer) (when any-input ...) (anything-
> display-buffer anything-buffer) (unwind-protect ... ... ... ... ...) (unless
> anything-quit ...)))
> (unwind-protect (progn (let ... ... ... ... ... ... ... ... ... ...))
> (loop for (var . value) in --orig-vars do (set var value)))
> (let ((--orig-vars ...)) (unwind-protect (progn ...) (loop for ... in --
> orig-vars do ...)))
> (with-anything-restore-variables (let (... anything-source-name anything-
> in-persistent-action anything-quit anything-follow-mode ... ... ...) (add-
> hook ... ...) (add-hook ... ...) (setq anything-current-position ...) (if
> any-resume ... ...) (setq anything-last-buffer anything-buffer) (when any-
> input ...) (anything-display-buffer anything-buffer) (unwind-protect ... ...
> ... ... ...) (unless anything-quit ...)))
> (condition-case v (with-anything-restore-variables (let ... ... ... ...
> ... ... ... ... ... ...)) (quit (setq minibuffer-history ...) (goto-char
> ...) (set-window-start ... ...) nil))
> anything(anything-source-ipython "os.f")
> (let ((initial-pattern ...)) (anything (quote anything-source-ipython)
> initial-pattern))
> anything-ipython-complete()
> call-interactively(anything-ipython-complete nil nil)
>
>
>
>
>
--
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France
next prev parent reply other threads:[~2009-09-11 20:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-08 19:38 Perfect python environment jakob fischer
2009-09-09 5:46 ` Thierry Volpiatto
2009-09-11 11:50 ` Neal Becker
2009-09-11 20:56 ` Thierry Volpiatto [this message]
2009-09-11 23:23 ` Neal Becker
2009-09-12 6:17 ` Thierry Volpiatto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87eiqdfbfh.fsf@tux.homenetwork \
--to=thierry.volpiatto@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).