
On 23 December 2016 at 10:58, Craig Sanders via luv-main < luv-main@luv.asn.au> wrote:
On Fri, Dec 23, 2016 at 08:11:15AM +1100, Sean Crosby wrote:
I've taken to using /usr/bin/env a bit more because of the max length limit in shebang lines. We store newer versions of Ruby, Python etc on a separate filesystem, where there are many versions of these directories, and they are hidden down quite far in the dirtree. So we regularly hit the max shebang length limit of 128 characters.
that's one of the things that symlinks are for.
e.g. I have python2.6, 2.7, 3.1, 3.2, 3.4, and 3.5 all installed in /usr/bin, with symlinks python & python2 pointing to 2.7, and python3 pointing to 3.5
All well and good if you're root....
python scripts have either a specific versioned binary name in the #! line or just #!/usr/bin/python or #!/usr/bin/python2 for the latest python 2.x or #!/usr/bin/python3 for the latest python 3.x. at some point in the future, python3 will become the default python and /usr/bin/python will point to it.
Yes but with the software our students use, they repackage python into a self contained directory, under the version of the software e.g. /foo/bar/v1.1/external/python/bin/python /foo/bar/v1.2/external/python/bin/python Even though the python versions might be the same, when you set up your environment to be for v1.1 of the package or v1.2 (which changes LD_LIBRARY_PATH, PATH etc), the python version/modules change location. Hence why /usr/bin/env python is great. Sean