Python executable

DogWalker forestiero at qwest.net
Tue Sep 6 06:31:26 CEST 2005


"presentt" <presentt at gmail.com> said:

>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
>

[3] cd to the directory that contains helloworld.py, then
    ./helloworld.py
    (When you enter helloworld.py as a command, the shell
     searches the PATH for helloworld.py and if it is not
     found, it complains. If you tell it that it's in the
     current directory, it will get it without searching.)


More information about the Python-list mailing list