My Python Working Notes

python-notesMost Python programming books cover the basics of python programming but don’t always deal very much with practical implementation and usage.

As someone who is relatively new to python I come across lot’s of things that are probably obvious for an experienced programmer but not so obvious when you are just starting out.

These are my Notes that I’ve made while creating basic Python programs that may be of use. They cover:

  • Installing Python windows and Linux
  • Multiple Python versions
  • PIP-Python Package Manager
  • Python file and directory structure
  • Python Modules
  • Running programs

Installing Python

The python crash course resources has instructions for installing Python on windows, Linux and MAC OS.

Multiple Python Versions

You can have multiple python versions installed on the same machine, but it can cause problems if you aren’t very experienced.

One of the common problems I encountered was when I installed a package with PIP it would be installed to the wrong version.

You can use the command

pip –version


To see where pip will install packages

PIP – The Python Package Manager

PIP is a package manger used to install Python modules and packages.

PIP normally comes installed with Python.

If it isn’t already installed you can install it by following these instructions.

Modules and packages like the MQTT client are installed to the Lib\site-packages folder.

Common pip commands

  • pip install package-name
  • pip uninstall package-name
  • pip install -U pip #upgrade pip
  • python -m pip install -U pip #upgrade pip on windows.

Useful resources

Python Packages

A python package is a collection of python modules. It is effectively a folder containing python files.

A python package directory has to have a file.

The presence of this file indicates to the Python interpreter that the directory/folder contains python modules.

Although the file can contain configuration information is is also often completely blank.

See this article be for more details.


A python module is a file containing python code. a module can define classes,functions and variables.

A module can be imported into another Python program or run directly.

Namespaces and Modules

A module also defines a namespace. Two modules can contain functions and variable with the same name as they are effectively in two separate namespaces.

Example two modules, m1 and m2 each contain a function add().

To access the add function from modules m1 you need to use the following syntax:


To access the add function from modules m2 you need to use the following syntax:


You might find this article and this article Useful

Importing Modules

When using the import module format then the module is imported with its namespace and so to access a function in that module you will need to prefix it with the module name.

If you use the from module import function format then you can access the function without prefixing it with the module name. Ref Dive into Python



The __main__ module

When you run a script by typing:


The Python interpreter runs it as module called __main__ which gets its own namespace.

If you imported the script then it would have the module name myscript.

You will also encounter the following code:

if __name__ == "__main__":
# execute only if run as a script

This is found in python modules that can be imported or executed directly. These articles give a reasonable explanation

Where are my Packages being installed?

On Windows the packages are placed in the Lib/site-packages directory which is under the root of the python install. That is if you install python to python34 then new packages installed with pip will be placed in the python34\Lib\site-packages folder.

On linux the packages seem to be installed wither in one of these locations:

  • usr/local/lib/python3.5/dist-packages
  • usr/lib/python3/dist-packages
  • usr/lib/python3.5/dist-packages

You can find out where Python expects the packages to be found using the following simple script

import site
print (site.getsitepackages())

You can also do it from the python command prompt as follows:


Running Scripts

From the command line on Windows or linux use:

python myprog,py

If you have several versions on Python available e.g. python 2 and  3, then you can use


to start your program using the Python3 Interpreter.

The SheBang Line

At the top of scripts written for Linux you often see this line.

#!/usr/bin/env python

This lets you run your program without starting the interpreter so you use simply:

On Windows you can also add a Shebang line:

#! python3.4

Will run your program with the python3.4 interpreter.

Existing Python Scripts

Do you use quit,exit,sys,exit etc? Good explanation here.

Seems best to use:

raise SystemExit


The above covers the main areas where I have had difficulty. You’re experience will be different you can help me improve the usefulness of this page by letting me know any areas that have caused problems by using the contact page or the comments form below.





Please rate? And use Comments to let me know more
[Total: 1    Average: 5/5]

Leave a Reply

Your email address will not be published. Required fields are marked *