Python executable

presentt presentt at gmail.com
Mon Sep 5 23:54:05 EDT 2005


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?
(2)Am I setting up the script to be directly executable correctly?
and (3)Am I trying to run the directly executable script correctly?

Thanks a lot.  I hope this post isn't too hard to follow; I know I'm
asking a lot.

~~Ted Present




More information about the Python-list mailing list