Re: #!/usr/bin/python2.3 vs #!/usr/bin/env python2.3

2003-08-12 Thread =?iso-8859-1?b?Suly9G1l?= Marant
Quoting John Goerzen [EMAIL PROTECTED]:

 Hello,
 
 Many Python programs use constructs like #!/usr/bin/env python2.3 to load
 themselves.  Many others use #!/usr/bin/python2.3.  On most Debian systems,
 these are the same.
 
 The submitter in #189473 claims that #!/usr/bin/env python2.3 is wrong
 because he has his own python2.3 on the path prior to the system's, and it
 doesn't necessarily have requisite libraries for the programs being run.

#!/usr/bin/env python2.3 helps programs running everywhere, i.e. they
will work with people that installed python in /usr/local/bin for
instance.

-- 
Jérôme Marant




Re: #!/usr/bin/python2.3 vs #!/usr/bin/env python2.3

2003-08-12 Thread =?iso-8859-1?b?Suly9G1l?= Marant
Quoting Jérôme Marant [EMAIL PROTECTED]:

 Quoting John Goerzen [EMAIL PROTECTED]:
 
  Hello,
  
  Many Python programs use constructs like #!/usr/bin/env python2.3 to load
  themselves.  Many others use #!/usr/bin/python2.3.  On most Debian
 systems,
  these are the same.
  
  The submitter in #189473 claims that #!/usr/bin/env python2.3 is wrong
  because he has his own python2.3 on the path prior to the system's, and it
  doesn't necessarily have requisite libraries for the programs being run.
 
 #!/usr/bin/env python2.3 helps programs running everywhere, i.e. they
 will work with people that installed python in /usr/local/bin for
 instance.

Hmm, after reading everyone's arguments, it seems wiser to use
#!/usr/bin/python2.3 in order to avoid mixing with local python
installs.

-- 
Jérôme Marant




Re: #!/usr/bin/python2.3 vs #!/usr/bin/env python2.3

2003-08-11 Thread Matthias Klose
John Goerzen writes:
 Hello,
 
 Many Python programs use constructs like #!/usr/bin/env python2.3 to load
 themselves.  Many others use #!/usr/bin/python2.3.  On most Debian systems,
 these are the same.
 
 The submitter in #189473 claims that #!/usr/bin/env python2.3 is wrong
 because he has his own python2.3 on the path prior to the system's, and it
 doesn't necessarily have requisite libraries for the programs being run.
 
 Any opinions?

I think you should use the /usr/bin prefix to enforce the dependencies
that your package has. After the temp. install in debian/* I use:

: # Replace all '#!' calls to python with $(PY_INTERPRETER)
: # and make them executable
for i in `find debian/foo -type f`; do \
  sed '1s,#!.*python[^ ]*\(.*\),#! $(PY_INTERPRETER)\1,' \
$$i  $$i.temp; \
  if cmp --quiet $$i $$i.temp; then \
rm -f $$i.temp; \
  else \
mv -f $$i.temp $$i; \
chmod 755 $$i; \
echo fixed interpreter: $$i; \
  fi; \
done




Re: #!/usr/bin/python2.3 vs #!/usr/bin/env python2.3

2003-08-11 Thread Donovan Baarda
On Tue, 2003-08-12 at 06:50, John Goerzen wrote:
 Hello,
 
 Many Python programs use constructs like #!/usr/bin/env python2.3 to load
 themselves.  Many others use #!/usr/bin/python2.3.  On most Debian systems,
 these are the same.
 
 The submitter in #189473 claims that #!/usr/bin/env python2.3 is wrong
 because he has his own python2.3 on the path prior to the system's, and it
 doesn't necessarily have requisite libraries for the programs being run.

The submitter is basically right. There have been discussions about this
on this list in the past. However, the python policy has the following;

 Programs that can run with any version of Python should be started
 with `#!/usr/bin/python'.  They must also specify a dependency on
 `python'.  You're free to use `#!/usr/bin/env python', if you'd
like
 to give the user a chance to override the Debian Python package
with a
 local version.
 
and;

 Programs which require a specific version of Python must start with
 `#!/usr/bin/pythonX.Y'.  They must also specify a dependency on
 `pythonX.Y'.  Again, if you're using `#!/usr/bin/env
 pythonX.Y', please be aware that a user might override the
Debian
 Python package with a local version.
 
Despite the Python Policy allowing you to use #!/usr/bin/env, the
general consensus is that it is a bad idea. Package maintainers who
choose to use it must be prepared to justify their decision and deal
with bug reports from users with broken local installations of python.


-- 
Donovan Baarda [EMAIL PROTECTED]
http://minkirri.apana.org.au/~abo/