Execute script from ipython

Chris Rebert clp2 at rebertia.com
Fri Aug 19 17:11:38 CEST 2011


On Fri, Aug 19, 2011 at 6:00 AM, Johan Ekh <ekh.johan at gmail.com> wrote:
> Hi all,
> I have a script "myscript.py" located in "/usr/local/bin" on my linux box.
> I can execute it in ipython with
>
> run /usr/local/bin/myscript.py
>
> but not with
>
> run myscript.py
>
> even though /usr/local/bin is in my $PATH and in my $PYTHONPATH.
>
> What should I do to correct this?

Given that %run takes a filename and not a module name, I doubt
PYTHONPATH matters. ipython's docs for %run don't seem to indicate
that a search of any kind is performed. So, I'd say you have to either
pass a valid absolute or relative path to myscript.py, or run
myscript.py from bash instead of ipython.

Changing your script's shebang line to ipython might also work
(haven't tried it myself). Or you could try patching ipython's run()
function to add this search feature you desire.

Cheers,
Chris
--
http://rebertia.com



More information about the Python-list mailing list