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