Shebangs, oh Shebangs!

This is an article on the importance of shebangs in Python.

Shebangs are the first line that you see in many python scripts.  They start with the shebang which is a hash/octoflex/sharp symbol, and are followed by an exclamation mark, or bang!  hence #! the shebang.

What is it?

In python the shebang is used by linux operating systems to determine what to use to run the script you have written.

#! usr/bin/python

This would be a common shebang letting Linux and UNIX systems know that it is about to run something that should be run in python.

Using a shebang


If you are using python 3 then you may be better off using:

#! usr/bin/python3

If a computer has a number of different versions of python on it, which is likely if you have been learning python for a while. It is better to use the pointer to specify which version of python the script was written for.

A problem with using the above line with python occurs if python is not installed in the /usr/bin directory, or if the script requires a particular version of python to run.

#! usr/bin/env python

This shebang can be used to look in the environment settings for where python has been installed.

#! usr/bin/env python 3.4

This shebang can be used to look for a particular version of python.

Why bother?

The information after the shebang lets the computer know where python is so that it can run the code for you.

If you run the program using  the following command:

python myscript.py
The computer will check that it is running the correct version for you.  However now you have a shebang, we could make the script executable

chmod +x myscript.py

Now you can run your script using:

./myscript.py

Which saves a few keystrokes at least, each time you run your script.

Comments

Popular Posts