Python executable

Steve Holden steve at holdenweb.com
Tue Sep 6 00:18:35 EDT 2005


presentt wrote:
> Hello,
> 
> I'm running Ubuntu Linux 5.04.
> 
> I just started teaching myself Python today, and have been reading a
> few things to get started.  I came across something in one (namely
> http://docs.python.org/tut/node4.html#SECTION004220000000000000000)
> that confused me a little.
> 
> It says:
> 
> ------------
> 
> On BSD'ish Unix systems, Python scripts can be made directly
> executable, like shell scripts, by putting the line
> 
> #! /usr/bin/env python
> 
> (assuming that the interpreter is on the user's PATH) at the beginning
> of the script and giving the file an executable mode. The "#!" must be
> the first two characters of the file. On some platforms, this first
> line must end with a Unix-style line ending ("\n"), not a Mac OS ("\r")
> or Windows ("\r\n") line ending. Note that the hash, or pound,
> character, "#", is used to start a comment in Python.
> 
> The script can be given a executable mode, or permission, using the
> chmod command:
> 
> $ chmod +x myscript.py
> 
> -----------
> 
> So I created a file named helloworld.py, and put in it:
> 
> #! /usr/bin/env python
> print "Hello, world!"
> 
> and then used
> $ chmod +x helloworld.py
> to set the permissions.  Finally, I went to my terminal and typed
> $ helloworld.py
> but I was given the bash: helloworld.py: command not found error.
> 
> Can someone tell me
> (1)Am I right in saying that something is directly executable if I can
> enter the filename in the command line and it runs?

Yes

> (2)Am I setting up the script to be directly executable correctly?

No. There should be no embedded space after the "#!" that indicates the 
first line identifies the program interpreter. The first line should read

#!/usr/bin/env python

> and (3)Am I trying to run the directly executable script correctly?
> 
Only if the current directory (".") is on your path (which you can see 
with the command

     echo $PATH

in your command shell).

> Thanks a lot.  I hope this post isn't too hard to follow; I know I'm
> asking a lot.
> 
It's clear you're new to comp.lang.python - this is a perfectly 
acceptable request. Hope this answer helps.

regards
  Steve
-- 
Steve Holden       +44 150 684 7255  +1 800 494 3119
Holden Web LLC             http://www.holdenweb.com/




More information about the Python-list mailing list