[Discuss] Python script question
Dan Ritter
dsr at tao.merseine.nu
Wed Aug 3 10:44:43 EDT 2011
On Wed, Aug 03, 2011 at 10:28:20AM -0400, Jerry Feldman wrote:
> A coworker of mine has a Python script set up as:
> #! $PATH_TO_PYTHON/python
> ... python code
>
> It is not unusual to have commands like this. Mailman does this with
> several of its commands. The issue here is that he needs to use an
> environment variable to call the python interpreter. We certainly can do
> it a messy way:
> #! /bin/bash
> $PATH_TO_PYTHON/python foo.py
>
> But this would require a wrapper script.
>
> Or he can use an explicit path to the python interpreter.
> #! /usr/bin/python
>
> The problem here is that the version of python he uses MUST be
> encapsulated in our company's product.
> #! /mnt/fubar/versionxyz/bin/python
>
> But this will possibly differ with each release of our company's product
> since we maintain a number of releases here. Some other solutions is to
> set up symlinks in the local directory.
>
> Any ideas on how to get the loader to expand the environment variable
> after the #!??
You can't do that, because it's parsed by the kernel, not the
shell.
Here's my suggestion:
create /mnt/fubar/product-current as a link to
/mnt/fubar/versionxyz/
and maintain that.
Now your script can start:
#!/mnt/fubar/product-current/bin/python
Alternatively, install your python script in
/mnt/fubar/versionxyz/scripts/
and start with:
#!../bin/python
(I just tested that, and it works.)
-dsr-
--
http://tao.merseine.nu/~dsr/eula.html is hereby incorporated by reference.
You can't fight for freedom by taking away rights.
More information about the Discuss
mailing list