Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
hash bang
#12
Here is my new bash script on this problem: it runs two python processes one after the other. The first process uses the default python interpreter. Its role is to examine the file system in order to find the best available python interpreter.

The second script runs with the best python interpreter found, and replaces the current process.
#!/bin/bash

# run first python script with default python, selects best interpreter
PYINTERP=$(python -c "import sys; exec(sys.stdin.read())" << GETPYTHON
import sys
def candidates():
    yield '/usr/bin/python3'
    yield '/usr/local/bin/python3'
    yield '/usr/bin/python'
    yield '/usr/bin/python2'
    yield '/usr/local/bin/python2'
    yield sys.executable
import os
for p in candidates():
    if os.path.exists(p):
        print(p)
        break
GETPYTHON
)

# run second python script with interpreter found, replacing current process
exec $PYINTERP -c "import sys; exec(sys.stdin.read())" << PYTHONSCRIPT
import sys
def hi():
    print('Interpreter found:', sys.executable)
    print('hello world')
hi()
PYTHONSCRIPT
Reply


Messages In This Thread
hash bang - by Skaperen - Feb-10-2018, 02:01 AM
RE: hash bang - by Gribouillis - Feb-15-2018, 06:34 AM
RE: hash bang - by Skaperen - Feb-16-2018, 07:11 AM
RE: hash bang - by Gribouillis - Feb-16-2018, 07:59 AM
RE: hash bang - by Skaperen - Feb-17-2018, 02:12 AM
RE: hash bang - by Gribouillis - Feb-17-2018, 10:31 AM
RE: hash bang - by Skaperen - Feb-18-2018, 04:27 AM
RE: hash bang - by Gribouillis - Feb-18-2018, 06:35 AM
RE: hash bang - by Skaperen - Feb-20-2018, 03:44 AM
RE: hash bang - by wavic - Feb-20-2018, 07:13 AM
RE: hash bang - by Skaperen - Feb-22-2018, 06:06 AM
RE: hash bang - by Gribouillis - Feb-20-2018, 09:40 AM
RE: hash bang - by Gribouillis - Feb-21-2018, 08:58 AM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020