When I'm alone practising my whole weight is going through and nothing is blocking it, but then when it comes to my piano lesson or when I'm performing I always tend to block my weight going through onto the keys by lifting up shoulders and have tension in my arms. Any suggestions or even exercises on what I can do to stop this happening?
Sounds to me like it's more a case of nerves than anything. It's perfectly natural to be a bit nervous in your lesson (i know i always am), and nerves are totally expected during performance. Being nervous causes us to do some pretty weird things that we, sometimes, never really experience when practicing, like producing unnecessary tension.
Before you start to play for your teacher or your audience, be sure to take a deep breath and feel yourself relax from your head all the way to your toes! Whenever you have a short rest in the piece, perform a quick body check and mentally take note of any excess tension and then relax it. Eventually you get to the point where excess tension as a result of nervousness is minimal to nonexistent because your mind and body will decide that it's simply easier to remain relaxed rather than to have to continue checking in and re-relaxing everything.
The gist of it is just relax!