[Tutor] Re: python from shell

lumbricus@gmx.net lumbricus@gmx.net
Wed, 10 Jul 2002 12:35:09 +0200 (MEST)


> On Tue, Jul 09, 2002 at 09:18:25AM -0500, SA wrote:

[ snip ]

> Here's the difference :
> 
> /usr/bin/env is a program that searches the $PATH to find the program
> given as it's first argument.  Then it exec's it on the input
> (script).
> 
> Using /usr/bin/env means that your script will automagically run on
> any person's system *IFF* the 'python' found first in the $PATH is the
> one you wanted to use.  It also means (due to limitations in
                                                ^^^^^^^^^^^
what do you mean?

> linux/bash)
  ^^^^^^^^^^
now which one?

> that you can't pass any arguments to python itself (such
> as -u or -OO).

>From 'man env' on OSF1
(no matter which shell ;-)

"  env, printenv - Displays or sets the current environment, or displays the
  values of environment variables

SYNOPSIS

  Current Syntax

  env [-i] [name=value...] [command] [args...]

...

  args
      Arguments to be passed to command when it is executed.

"

It works for me.

> Using the full path to the interpreter ensures that you'll be using
> the python you want to use.

_Iff_ it is there. On my system for example python is in
/usr/local/bin. So your scripts won't run
 
> For example, on a debian woody system, /usr/bin/python is a symlink to
> /usr/bin/python2.1, and it is also possible for the user to have
> /usr/bin/python2.2 as well.  On a RH 7.x system, 'python' (is it in
> /usr/bin ?) is version 1.5 wherease 'python2' is version
> 2.<something>.  Using the env trick will yield different results on
> different systems, and using the full path isn't compatible with all
> systems.

ACK
 
> Pay your money and take your choice :-) (as one of my profs likes to say)

But env(1) has the advantage that it sets the environment as the
command (python) needs it - PYTHONPATH, PYTHONHOME or the like.
 
> I choose to use the absolute path and explicitly specify the version I
> want.  Then again, I also use debian and for debian-packaged programs
> that is also the Policy.

But this fails, if the specified version isn't there. 
I'd prefer env(1).
 
[ snip ]

HAND and Greetings,
J"o!

-- 

-- 
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net