On 2012/8/17 Ben Booth <benwbooth@gmail.com> wrote:
Lots of python scripts still use #!/usr/bin/python instead of explicitly stating which version of python to use. Here's quick trick to make running various python version 2 or 3 scripts easier:
remove the /usr/bin/python symlink and replace with this shell script:
#!/usr/bin/env bash exec /usr/bin/"${PYTHON:-python3}" "$@"
Now you can set the PYTHON environment variable to be either python2 or python3, depending on which version of python the script expects. Just don't set PYTHON=python, or you'll get a recursive loop! The only problem with this approach is that /usr/bin/python is owned by the python package, so if you upgrade the python package it might create problems. Any one know of some way to work around this problem?
Run your scripts using "python2 script.py" or use setuptools that rewrites shebang automatically. Rémy.