Emacs Python-mode. Newbie problem.

Lacrima Lacrima.Maxim at gmail.com
Thu Jul 9 09:28:07 EDT 2009

On Jul 9, 2:31 pm, Piet van Oostrum <p... at cs.uu.nl> wrote:
> >>>>> Lacrima <Lacrima.Ma... at gmail.com> (L) wrote:
> >L> Thanks for your reply!
> >L> My file name is 'trains.py'.
> >L> When I do C-h k C-c RET, it shows me help from manual: "C-c RET runs
> >L> the command py-execute-import-or-reload
> >L>    which is an interactive Lisp function in `python-mode'..." and so
> >L> on.
> >L> And still when I do C-c RET, I receive "(Shell command succeeded with
> >L> no output)"
> >L> Any more help would be really appreciated, because I am newbie with
> >L> Emacs.
> I tested it and I can get this message also. It happens when you have no
> Python shell running (*Python* buffer). The python code is then executed
> by calling the python shell command and catching the output. This output
> is displayed in the *Python Output* buffer. It happens also with C-c C-c
> and it will give the same message.
> There is a difference, however between C-c C-x and C-c RET: The latter
> will import your module, and most modules are written such that
> importing them doesn't print anything. If you add something like
> print "test" and the end of file, then "test" will appear in the *Python
> Output*  buffer.
> If your file has the print "hello world" statement it should display in
> the *Python Output* buffer. I checked that.
> On the other hand, if you have a python shell running you must make sure
> (e.g. with the cd command) that its working directory is the directory
> where your python file is located, otherwise the import statement will
> not find your file. Unless it is somewhere in the python path. Also the
> *Python* buffer will not automatically pop up if it is not visible, in
> contrast with the *Python Output* buffer.
> --
> Piet van Oostrum <p... at cs.uu.nl>
> URL:http://pietvanoostrum.com[PGP 8DAE142BE17999C4]
> Private email: p... at vanoostrum.org

Thank you for really useful and detailed explanation. Now I can test
my code using Emacs.
But I think it works for me in a little bit different way.
My file contains only the print 'hello world'.
If I have no python shell running, then:
a) C-c RET opens *Python Output* buffer without any output and with
'Shell command succeeded with no output' message at the bottom
b) C-c C-c opens *Python Output* with appropriate 'hello world'

Then I run python shell with C-c ! command. And:
a) C-c RET opens *Python* buffer and prints 'hello world' in the
python shell
b) C-c C-c gives the same result.

With regards, Max

More information about the Python-list mailing list