You can teach your linux system that executable python files must be executed with /usr/bin/python. This allows you to write python scripts without the shebang line #!/usr/bin/env python
. This snippet shows you how to do it !
How to avoid python shebang line on linux.
# This is rather a shell code snippet than a python code snippet :)
# Your linux system can recognize that an executable file
# with extension ".py" must be executed with the python interpreter.
# For this, issue the following command in a terminal (as root):
echo ':Python:E::py::/usr/bin/python:' > /proc/sys/fs/binfmt_misc/register
# Now test this:
echo "print dir()" > mytest.py # create a python script in the current dir
chmod +x mytest.py # make it executable
./mytest.py # run it
# You dont need the shebang line '#!/usr/bin/env python'
# in your scripts any more !!!!!
# Now we don't want to do this each time we log in. We can
# edit (as root) a file named rc.local. It can be /etc/rc.local
# on your system. On mine this file is a symbolic
# link and the true file is /etc/rc.d/rc.local. Anyway,
# we add the following lines at the beginning of this file
if [ -e /proc/sys/fs/binfmt_misc ]; then
echo ':Python:E::py::/usr/bin/python:' > /proc/sys/fs/binfmt_misc/register
fi
# Now your system knows that ".py" files must be interpreted
# with /usr/bin/python.
scru 909 Posting Virtuoso Featured Poster
Gribouillis 1,391 Programming Explorer Team Colleague
Gribouillis 1,391 Programming Explorer Team Colleague
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.